【问题标题】:How to dispatch a Job to a specific queue in Lumen 5.5如何在 Lumen 5.5 中将作业分派到特定队列
【发布时间】:2018-03-20 18:31:17
【问题描述】:

在标准作业中,我使用这种方法来调度作业:

dispatch(new PurchaseJob($trxId, $method, $params));

接下来我想分派另一个作业来发送电子邮件,但我想将它拆分到另一个单独的队列中。 根据我在 Laravel 5.5 文档上阅读的内容,我可以这样做:

SendEmailJob::dispatch($userEmail)->onQueue('send_email');

但它似乎不适用于 Lumen 5.5。

我可以做些什么来完成这项工作,或者还有没有在文档中说明的其他方法?

【问题讨论】:

  • 你解决了吗?我对 Lumen 5.5 也有同样的问题
  • 暂时没有。我最终仍然使用相同的队列。
  • 同样的问题...

标签: php queue lumen


【解决方案1】:

我只是设法在 Lumen 5.5 中找到一种方法来调度具有指定名称的队列。

public function toMail($notifiable)
{
    $job = (new SendFriendRequestEmail($notifiable))->onQueue('email');
    dispatch($job);
}

可能是这个article会帮助你了解更多

【讨论】:

  • 感谢分享!那篇文章是一个很好的排队来源,而且非常详细。
  • 你能指导我在哪个 php 文件中完成这项工作吗?没有一个文档提到该文件。另外,这是否需要对 vendor/laravel/lumen-framework/config/queue.php 进行任何更改?
  • @Zoran777,当然您需要更改 /config/queue.php 以添加另一个使用不同管名的队列连接(在 beanstalk 情况下),然后您可以使用上面的答案并使用队列name 作为 onQueue() 的参数
  • 事实证明,在我的情况下,我必须将上面的代码放在 QueueForTransactionController.php 中。这是发生排队的类。
猜你喜欢
  • 2020-03-30
  • 2018-03-28
  • 1970-01-01
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2012-05-11
  • 2017-05-11
  • 2022-08-20
相关资源
最近更新 更多