首页 > 解决方案 > 如何在 docker 容器中更新 Laravel 队列工作者的运行代码

问题描述

我有一个在 docker 容器内运行的 Laravel 实例。我也有 supervisord 保持一些队列工作人员运行。在我的Dockerfile,我有这个:

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]

supervisord.conf包括其他配置文件,包括laravel-worker.conf如下所示:

[program:laravel-worker]
directory=/var/www
process_name=%(program_name)s_%(process_num)02d
command=php artisan queue:work --sleep=3 --tries=3 --timeout=950
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=20
redirect_stderr=true
stdout_logfile=/var/www/logs/queue-worker-error.log
stdout_logfile_maxbytes=524288
stderr_logfile=/var/www/logs/queue-worker-error.log
stderr_logfile_maxbytes=524288
stopwaitsecs=3600
priority=6

我有另一个.conf运行这个 bash 脚本的文件:

while true
do
    php /var/www/artisan schedule:run --no-interaction &
    sleep 60
done

我不知道是否有任何代码是相关的。我的问题是,当我更新我的 PHP 代码时,这些作业一直在尝试使用旧代码。我尝试了以下方法:

现在我不知道该尝试什么,我很生气。接下来我应该尝试什么?

标签: laraveldockersupervisord

解决方案


推荐阅读