【问题标题】:Supervisor 3.3.1 running but not processing jobsSupervisor 3.3.1 正在运行但不处理作业
【发布时间】:2019-06-14 10:43:09
【问题描述】:

我有设置主管

[program:laravel_queue]
process_name=%(program_name)s_%(process_num)02d
command=php /usr/local/bin/run_queue.sh
startsecs = 0
autostart=true
autorestart=true
user=www-data
numprocs=3
redirect_stderr=true
stderr_logfile=/var/log/laraqueue.err.log
stdout_logfile=/var/log/laraqueue.out.log

run_queue.sh

#!/bin/bash
php /var/www/html/application/artisan  --timeout=240 queue:work --tries=1

日志文件如下所示

job 表已满,它不处理任何作业。感谢您提供这方面的任何帮助

【问题讨论】:

  • 日志文件是否包含任何有用的信息?您是否尝试过手动运行 laravel 队列工作人员?你能告诉我们run_queue.sh 命令吗?
  • @PtrTon 我更新了我的问题,日志文件只包含queue:work 命令
  • 也添加了日志文件截图
  • Supervisor 的工作似乎做得很好,所以我最好的猜测是工作本身有问题。手动运行php /var/www/html/application/artisan --timeout=240 queue:work --tries=1 时是否会处理作业?您是否尝试查看您的工作的 handle() 方法是否被调用?
  • 很高兴为您提供帮助。您可以接受自己的答案,因为它包含其他用户解决类似问题的所有详细信息。

标签: laravel laravel-5 supervisord


【解决方案1】:

我做了一些更改以使其正常工作,但我不确定是什么使它正常工作,但以下是步骤:

我删除了对run_queue.sh 的依赖并将命令移到laravel_queue.conf

[program:laravel_queue]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/application/artisan queue:work --tries=1
startsecs = 0
autostart=true
autorestart=true
user=www-data
numprocs=3
redirect_stderr=true
stderr_logfile=/var/log/laraqueue.err.log
stdout_logfile=/var/log/laraqueue.out.log

如果你注意到我改变了一些命令

--timeout=240 queue:work --tries=1

queue:work --tries=1 (this made it work in my opinion)

进行这些更改后,我运行了以下命令:

sudo supervisorctl reread & sudo supervisorctl update
sudo supervisorctl start laravel_queue:*

【讨论】:

    猜你喜欢
    • 2016-01-17
    • 2017-11-15
    • 1970-01-01
    • 2012-02-19
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多