Supervisor FATAl Exited too quickly(进程日志可能有详细信息)

Supervisor FATAl Exited too quickly (process log may have details)

我在 laravel 中使用 supervisor 有时我的 supervisor 工作正常,有时出现错误。 严重退出太快(进程日志可能有详细信息)。

这是我的主管档案。

[program:laravel-worker-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/new-project/artisan queue:work mongodb --sleep=10 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/new-project//storage/logs/worker.log

如果有人对此有好的想法,请建议我。

我自己通过搜索和应用多种方法解决了这个问题,我通过在命令中添加 --daemon 找到了我的解决方案 更新了下面的代码

[program:laravel-worker-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/new-project/artisan queue:work mongodb --sleep=10 --tries=3 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/new-project/storage/logs/worker.log

我在尝试 运行 php artisan horizon 时也收到此消息,该目录实际上没有 artisan 可用于 运行。

对于尽管遵循了已接受的答案但仍然遇到相同问题的任何人。结果我引用了错误的队列方法“sqs”,而不是我使用的“数据库”方法。

command=php /var/www/html/new-project/artisan queue:work database --sleep=10 --tries=3 --daemon

[program:laravel-worker-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/new-project/artisan queue:work database --sleep=10 --tries=3 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/new-project/storage/logs/worker.log

在我的例子中,supervisor 退出得非常快,因为它在 startsecs 之前完成,并且由于没有定义 startsecs,它使用默认值 1。

设置 startsecs=0 解决了我的问题。

我觉得发布这个有点傻,但是我 运行 在为新网站克隆服务器时遇到了这个问题 - 主管 conf 文件将命令指向错误的目录,因为新网站是托管在不同的位置。

所以使用这个例子我的 /etc/supervisor/conf.d/laravel-worker.conf 需要从这样的东西改变:

[program:laravel-worker-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/new-project/artisan queue:work database --sleep=10 --tries=3 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/new-project/storage/logs/worker.log

为此:

[program:laravel-worker-mail]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/new-project-2/artisan queue:work database --sleep=10 --tries=3 --daemon
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/html/new-project-2/storage/logs/worker.log