gpt4 book ai didi

windows - 我将如何在后台运行 Laravel 5.2 的队列监听器?

转载 作者:可可西里 更新时间:2023-11-01 09:28:07 24 4
gpt4 key购买 nike

在我的项目中,我使用数据库队列并使用命令执行此队列

php artisan 队列:监听

在 composer 中,它正在工作。但是在我的 Windows 服务器中,有很多项目使用队列,所以打开了很多 Composer 窗口。很不方便。是否可以在不打开 Composer 窗口的情况下在后台运行此命令?

最佳答案

您可以使用该命令,但它只会在您注销或重新启动之前起作用

nohup php artisan queue:work --daemon &

尾随符号 (&) 导致进程在后台启动,因此您可以继续使用 shell 而不必等到脚本完成。

参见 nohup

nohup - run a command immune to hangups, with output to a non-tty

这会将信息输出到您运行命令的目录中名为 nohup.out 的文件中。如果你对输出不感兴趣,你可以将 stdout 和 stderr 重定向到/dev/null,或者类似地你可以将它输出到你的普通 laravel 日志中。例如

nohup php artisan queue:work --daemon > /dev/null 2>&1 &

nohup php artisan queue:work --daemon > app/storage/logs/laravel.log &

但是你也应该使用像Supervisord这样的东西以确保服务保持运行并在崩溃/失败后重新启动。

运行队列:用supervisord监听

supervisord 是一个 *nix 实用程序,用于监视和控制进程,下面是/etc/supervisord.conf 的一部分,运行良好。

queue:listen 的 supervisord.conf 部分

[program:l5beauty-queue-listen]
command=php /PATH/TO/l5beauty/artisan queue:listen
user=NONROOT-USER
process_name=%(program_name)s_%(process_num)d
directory=/PATH/TO/l5beauty
stdout_logfile=/PATH/TO/l5beauty/storage/logs/supervisord.log
redirect_stderr=true
numprocs=1

您需要替换/PATH/TO/以匹配您的本地安装。同样,用户设置对于您的安装也是唯一的。

关于windows - 我将如何在后台运行 Laravel 5.2 的队列监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115395/

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