【问题标题】:Laravel queues run foreverLaravel 队列永远运行
【发布时间】:2015-02-12 06:58:51
【问题描述】:

我有一个支持某种邮件通知的页面。当用户插入一些数据时,我想将邮件发送给另一个。我知道,Mail::send() 运行良好,但速度很慢。所以我想把这封邮件推送到队列中。我使用 Iron.io 作为提供者。在我关闭控制台之前一切正常。

那么在我关闭 Win 和 Linux 上的控制台后,是否可以永远运行 php artisan queue:listen

【问题讨论】:

    标签: laravel-4


    【解决方案1】:

    你可以使用nohup在linux后台运行每个进程

    nohup php artisan queue:listen
    

    即使您关闭终端,这也将保持进程运行,nohup 将强制忽略挂断信号。

    nohup 创建一个日志文件。如果你想抑制这个,你可以添加

     >/dev/null 2>&1 &
    

    在你的命令之后

    【讨论】:

    • 谢谢你,这对你有很大帮助,还有这个答案stackoverflow.com/questions/24646320/…
    • 考虑用supervisord 之类的东西来监控它。
    • 不客气!您可以忽略 nohup 告诉您的内容并关闭所有内容。如果进程仍在运行,您可以构建某种检查,尽管它非常可靠
    • 我没有cmd的root用户,所以当我设置nohup命令然后关闭终端时,队列停止了。命令或进程未按预期在后台运行。我的问题是,使用非 root 用户可能是这里的问题?
    • @HimanshuUpadhyay 随意提出一个新问题,并确保包含有关您正在做什么的所有信息,以便人们可以帮助您
    猜你喜欢
    • 2018-10-20
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    相关资源
    最近更新 更多