国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

定時(shí)器中的邏輯代碼修改后,執(zhí)行reload后新代碼不生效

猴子

新建一個(gè)定時(shí)器,修改部分代碼
之后php start.php reload定時(shí)器
新修改的部分代碼不生效

<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once './Workerman/Autoloader.php';

$task = new Worker();
// 開啟多少個(gè)進(jìn)程運(yùn)行定時(shí)任務(wù),注意多進(jìn)程并發(fā)問題
$task->count = 1;
$task->name = "TimerWorker";
$task->reloadable = true;
$task->onWorkerStart = function ($task) {
    Timer::add(1, function () {
        logLib::out("timerfdsa");
    });
};

// 運(yùn)行worker
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}

我無論怎么修改logLib::out("timerfdsa");都不生效,除非是執(zhí)行php start.php restart

6754 5 0
5個(gè)回答

walkor 打賞

手冊有說明,只有在onXX載入的文件才能reload(或者說Worker::runAll() 運(yùn)行后載入的文件才能reload)。主進(jìn)程寫死的代碼無法reload。

  • 暫無評(píng)論
猴子

恩,那我現(xiàn)在需要怎么處理這部分邏輯。可以讓我的定時(shí)器代碼reload的時(shí)候可以生效。每次重啟服務(wù)器端很傷人啊

  • 暫無評(píng)論
猴子
<?php
use \Workerman\Worker;
use \Workerman\Lib\Timer;
require_once './Workerman/Autoloader.php';

$task = new Worker();
// 開啟多少個(gè)進(jìn)程運(yùn)行定時(shí)任務(wù),注意多進(jìn)程并發(fā)問題
$task->count = 1;
$task->name = "TimerWorker";
$task->reloadable = true;

$task->onWorkerStart = function ($task) {
    logLib::out("onWorkerStart!");
    Timer::add(1, function () {
        logLib::out("testfdas!!!");
    });
};
// 運(yùn)行worker
if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}

完整的測試代碼。文件名start_timer.php
上面這段代碼,LogLib::out部分怎么修改,reload后都不生效

  • 暫無評(píng)論
walkor 打賞

首先:定時(shí)器函數(shù)寫到單獨(dú)文件

通過自動(dòng)加載機(jī)制加載這個(gè)單獨(dú)文件。
如果不懂自動(dòng)加載就在onWorkerStart中require進(jìn)來。

  • 暫無評(píng)論
猴子

太感謝了??梢粤?/p>

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??