gpt4 book ai didi

php - Laravel 文件更改后,Supervisord 进程是否需要重启?

转载 作者:搜寻专家 更新时间:2023-10-31 21:07:18 25 4
gpt4 key购买 nike

我正在使用 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 文档中看到的那样:

Daemon queue workers do not restart the framework before processing each job.

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

sudo supervisorctl
supervisor> stop webhooks
supervisor> start webhooks

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

最佳答案

你不需要!只需执行以下操作,supervisor 将使用新代码自动重启。

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

原因是 artisan 命令将停止队列,并且当您在配置中设置了 autorestart=true 时,supervisor 将强制重新启动。

要确认,只需执行以下操作并在输出中查看正常运行时间:

$> sudo supervisorctl status

--

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

$> sudo supervisorctl update

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

关于php - Laravel 文件更改后,Supervisord 进程是否需要重启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30306954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com