3

我目前有一个多服务器 Laravel 设置。我有多个负载平衡并共享数据库的服务器。

每个实例还运行一个队列侦听器。我希望能够分派两种类型的工作:

  1. 只运行一次的作业(例如发送电子邮件、更新模型等)
  2. 在所有队列侦听器上运行的作业(例如,从文件系统中删除文件)

我认为第一个实施起来很简单,但不确定如何实施第二个。有任何想法吗?

4

1 回答 1

0

您可以让队列侦听器或工作人员处理特定队列。例如运行队列侦听器或工作人员来处理emails队列。

php artisan queue:listen --queue=emails
php artisan queue:work --queue=emails

您现在可以将作业分派到此队列

dispatch((new Job)->onQueue('emails'));

这可以帮助您设置多个侦听器/工作人员以根据您的要求处理不同的队列。

于 2017-05-29T08:32:32.243 回答