更改 Laravel 文件后是否需要重新启动 Supervisord 进程?

2023-12-26

我正在使用 Supervisord 来监视 Laravel 4.2 中的队列。这是我的 Supervisord 配置文件:

[program:webhooks]
command=php artisan queue:work --daemon --queue=webhooks --tries=3 --sleep=5
directory=/var/www/html/app
stdout_logfile=/var/www/html/app/app/storage/logs/webhooks_supervisord.log
redirect_stderr=true
autostart=true
autorestart=true

正如我在 Laravel 文档中看到的:

守护进程队列工作人员在处理之前不会重新启动框架 每个工作。

据我所知,这意味着如果我对框架中的其中一个文件进行更改,该更改将不会反映在处理队列的守护进程中。例如,如果我的一个文件说echo 1;我改为echo 2;,队列正在使用的框架版本仍然会说echo 1,直到我重新启动队列。为了让这些新的更改生效,我需要运行:

sudo supervisorctl
supervisor> stop webhooks
supervisor> start webhooks

我认为这是必需的吗?或者是否有另一种方法来处理此问题,以便在不重新启动队列的情况下拾取对文件的新更改?


你不需要!只需执行以下操作,主管就会自动使用新代码重新启动。

$> CD /your/project/folder
$> php artisan queue:restart

原因是 artisan 命令将停止队列,supervisor 将按照您的设置强制重新启动autorestart=true在配置中。

要确认,只需执行以下操作并查看uptime在输出中:

$> sudo supervisorctl status

--

如果您更改了supervisord程序的配置,还可以执行以下操作:

$> sudo supervisorctl update

这将重新加载配置,根据需要添加/删除,并将重新启动受影响的主管programs

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 Laravel 文件后是否需要重新启动 Supervisord 进程? 的相关文章

随机推荐