【问题标题】:Laravel 5.4 Queue EmailLaravel 5.4 队列电子邮件
【发布时间】:2018-01-12 21:52:48
【问题描述】:

我正在尝试使用 Laravel Queues 使用数据库驱动程序发送电子邮件,我已经配置了它,运行“作业”表的迁移,当我运行这个时:

Mail::to($user->email)->queue(new CompraRealizadaAdmin(Cart::content(), $monto_descuento, $envio, $user_array, $direccion, $compra));

在“jobs”表上添加了一条记录,但是,我如何在数据库表上运行队列?我知道要在添加时触发它,我需要运行命令@987654322 @,或者如果我需要运行所有仍在队列中的,我将使用php artisan queue:work

但是如何在不需要打开终端的情况下运行命令并保持打开状态直到完成...?

我的想法是创建一个计划并每分钟运行一次,然后执行代码:Artisan::call('queue:work');,但这不起作用。

有什么想法吗?

【问题讨论】:

    标签: php laravel queue laravel-5.4


    【解决方案1】:

    根据您的需求、偏好和您可以使用的目标操作系统

    或类似的服务来管理您的队列工作进程。

    事实上,Laravel 文档对此进行了非常详细的解释 how to install and configure supervisord

    【讨论】:

    • 我只需要在一个过程之后发送各种电子邮件,但它们需要异步运行,因为它是一个购买过程。还有其他方法吗?
    • 队列正是要走的路。安装supervisord有什么问题?
    • 我在我正在使用的服务器上没有安装它的权限...如果我将它作为作业分派,它会异步执行吗?
    【解决方案2】:

    这取决于您正在为 Ubuntu 或 linux 开发哪个操作系统,您可以使用 supervisorhup

    但要小心,每次重启机器时都必须运行 hup

    这就是你如何运行这个命令。 hup php artisan queue:work

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2022-08-13
      • 2018-04-20
      • 2019-07-17
      • 1970-01-01
      • 2018-02-01
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      相关资源
      最近更新 更多