Laravel 队列永远运行
Posted
技术标签:
【中文标题】Laravel 队列永远运行【英文标题】:Laravel queues run forever 【发布时间】:2015-02-12 06:58:51 【问题描述】:我有一个支持某种邮件通知的页面。当用户插入一些数据时,我想将邮件发送给另一个。我知道,Mail::send()
运行良好,但速度很慢。所以我想把这封邮件推送到队列中。我使用 Iron.io 作为提供者。在我关闭控制台之前一切正常。
那么在我关闭 Win 和 Linux 上的控制台后,是否可以永远运行 php artisan queue:listen
?
【问题讨论】:
【参考方案1】:你可以使用nohup
在linux后台运行每个进程
nohup php artisan queue:listen
即使您关闭终端,这也将保持进程运行,nohup 将强制忽略挂断信号。
nohup 创建一个日志文件。如果你想抑制这个,你可以添加
>/dev/null 2>&1 &
在你的命令之后
【讨论】:
谢谢你,这对你有很大帮助,还有这个答案***.com/questions/24646320/… 考虑用supervisord
之类的东西来监控它。
不客气!您可以忽略 nohup 告诉您的内容并关闭所有内容。如果进程仍在运行,您可以构建某种检查,尽管它非常可靠
我没有cmd的root用户,所以当我设置nohup
命令然后关闭终端时,队列停止了。命令或进程未按预期在后台运行。我的问题是,使用非 root 用户可能是这里的问题?
@HimanshuUpadhyay 随意提出一个新问题,并确保包含有关您正在做什么的所有信息,以便人们可以帮助您以上是关于Laravel 队列永远运行的主要内容,如果未能解决你的问题,请参考以下文章