我的一些作业是在默认队列中找到的,而不是在它们应该在的队列中。
下面是一个这样的任务的构造函数:public function __construct(Order $order)
{
$this->onQueue('billing');
$this->order = $order;
}
代码中没有任何地方改变队列值。
dispatch(new DoBilling($order));
是什么原因导致的?
无论何时发生这种情况,都可能是原因之一。这些都与开发操作和服务器设置有关。
- 旧服务器或旧代码,在队列上推送作业,代码与您提供的示例不一致。
- 如果作业是从另一个作业派生的,请确保该队列已重新启动并使用最新版本的代码。
- 正在处理的旧作业的队列设置错误,并且您不知道队列中有等待的作业。
作为一个战争时期的故事,有一个必须将3个队列合并为一个队列的情况。这里对作业属性进行了一些更改。我们总是得到关于属性不存在的错误,无论任务是如何创建的。结果是,我们的队列中建立了一个巨大的旧作业队列,并且需要花费数天的时间来处理旧作业,以便让具有适当属性的新作业通过。