这里写问题描述
如题,我的项目是tp6.1的,用到了think-worker,但是客户更新程序后,代码也更新了,执行日志里面却是某个方法不存在,查看后怀疑是workerman的进程根本没有重载文件,如何才能让他每次重新启动后重载文件,目前的方法发现只有重启服务器才能成功重载文件,哭了
Worker::$pidFile = app()->getRootPath() . 'runtime/timer.pid';
$task = new Worker();
date_default_timezone_set('PRC');
// $task->count = conf('process_count') > 1 ? conf('process_count') : 4;
$task->count = 4;
$output->writeln('定时任务已开始执行,当前进程数量:' . $task->count);
DB::close();
$task->onWorkerStart = function (Worker $worker) {
DB::close();
Log::info('[' . $worker->id . ']onWorkerStart Is Run...' . date('Y-m-d H:i:s'));
event('SystemTimer', [$worker->id, $worker->count, 0]);
};
$task->runAll();
热重载本身就不建议在生产环境使用。因为有些文件是必须要重启服务才能生效的。