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

如何在服務(wù)停止時執(zhí)行清理工作?

forwebreg

onClose在stop的時候并不會觸發(fā)啊

853 2 0
2個回答

forwebreg

現(xiàn)在的設(shè)想是這樣
在數(shù)據(jù)庫中有一個待辦清單
workerman onWorkerStart $worker->id === 0的進(jìn)程
讀取待辦清單 send到queue中
所有進(jìn)程訂閱隊列進(jìn)行處理
完成后在數(shù)據(jù)庫中標(biāo)記完成
當(dāng)workerman關(guān)閉時需要清空隊列 否則下次啟動 會重復(fù)send

現(xiàn)在只能在初始化的時候去清空隊列

$redis = new Redis('redis://' . $configs['redis']['host'] . ':' . $configs['redis']['port'], $configs['redis']);
$redis->del(['{redis-queue}-waiting' . QUEUE_NAME, '{redis-queue}-delayed' . QUEUE_NAME, '{redis-queue}-failed' . QUEUE_NAME]);
  • 暫無評論
walkor 打賞

不要用onWorkerStop,因為reload也會觸發(fā)。
用 $onMasterStop


Worker::$onMasterStop = function () {
    echo "Master stop\n";
};
``
  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??