tp+workerman3.5.34.0如何重新启动后让他重载程序项目文件

chenmxgg

问题描述

这里写问题描述

如题,我的项目是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();
113 1 0
1个回答

XueSi

热重载本身就不建议在生产环境使用。因为有些文件是必须要重启服务才能生效的。

  • 暂无评论
🔝