onClose在stop的时候并不会触发啊
现在的设想是这样 在数据库中有一个待办清单 workerman onWorkerStart $worker->id === 0的进程 读取待办清单 send到queue中 所有进程订阅队列进行处理 完成后在数据库中标记完成 当workerman关闭时需要清空队列 否则下次启动 会重复send
现在只能在初始化的时候去清空队列
$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]);
不要用onWorkerStop,因为reload也会触发。 用 $onMasterStop
Worker::$onMasterStop = function () { echo "Master stop\n"; }; ``
现在的设想是这样
在数据库中有一个待办清单
workerman onWorkerStart $worker->id === 0的进程
读取待办清单 send到queue中
所有进程订阅队列进行处理
完成后在数据库中标记完成
当workerman关闭时需要清空队列 否则下次启动 会重复send
现在只能在初始化的时候去清空队列
不要用onWorkerStop,因为reload也会触发。
用 $onMasterStop