【发布时间】:2019-03-08 23:12:51
【问题描述】:
是否可以向工作人员发送停止信号,使其仅在处理作业后停止。
目前我有一份工作,需要一些时间并且不能被打断,因为我只有一次尝试/尝试。
有时我需要阻止工作人员重新部署我的代码。有没有办法在完成当前工作并开始新工作之前停止 Laravel 的工作人员?
我正在使用supervisor 重新启动队列工作人员。
因为目前在每次部署时,我都会失去 1 份工作,而我的客户也会赔钱 :(
附言
这不是 Laravel Artisan CLI safely stop daemon queue workers 的副本,因为他使用的是 Artisan CLI,而我使用的是 supervisor。
【问题讨论】:
-
你可以放下应用然后部署吗?
-
不幸的是,我不能,因为我想尽可能频繁地部署,而且我有很多人使用 UI。 @ka_lin
-
取决于您的部署策略,您可以(在部署时)创建一个目录(与您的应用程序处于同一级别)运行部署并创建一个符号链接以指向当前版本(尽管工匠下来并在需要切换以确保数据完整性时向上)
-
@ka_lin 不在 docker 中 :( Deployer 不支持 docker。然而。
标签: php laravel laravel-5 supervisord laravel-queue