Php 队列Laravel队列作业在升级到Laravel 5.4后运行两次

Php 队列Laravel队列作业在升级到Laravel 5.4后运行两次,php,laravel,queue,Php,Laravel,Queue,我们曾经运行过Laravel5.2,对于我们的一个处理任务,我们会运行一个控制台命令将作业排队到Redis队列中。在Laravel5.4升级之前,此作业将排队,并由队列守护进程拾取,并且只运行一次。然而,升级后,作业会被提取两次,间隔约1分钟。devops没有任何变化,所以我试图弄清楚Laravel做了什么不同。我还可以验证console命令是否只对作业排队一次,因此守护进程的运行方式有所改变。还有其他人见过这样的行为吗?今天读一下。不知道这是否有帮助 从文档中: “--timeout值应始终比

我们曾经运行过Laravel5.2,对于我们的一个处理任务,我们会运行一个控制台命令将作业排队到Redis队列中。在Laravel5.4升级之前,此作业将排队,并由队列守护进程拾取,并且只运行一次。然而,升级后,作业会被提取两次,间隔约1分钟。devops没有任何变化,所以我试图弄清楚Laravel做了什么不同。我还可以验证console命令是否只对作业排队一次,因此守护进程的运行方式有所改变。还有其他人见过这样的行为吗?

今天读一下。不知道这是否有帮助

从文档中:

“--timeout值应始终比您的值至少短几秒钟
在配置值之后重试。\u。这将确保正在处理 给定的作业总是在重试作业之前被终止。如果您的--timeout选项为 比配置值后重试时间长,作业可能会被处理 两次。”


您的服务器堆栈是什么?它是否在EC2上运行多个实例?一个EC2工作进程和两个守护进程可以将作业从队列中拉出,这与L5.4之前的情况相同。作业运行一次,然后大约1分钟后再次运行。