退出终端时运行laravel队列侦听

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了退出终端时运行laravel队列侦听相关的知识,希望对你有一定的参考价值。

我在laravel设置工作耗费时间,因此用户获取上传文件并退出,当我做php工匠队列时,它工作得很好:listen或queue:work。

但是当我离开终端时,这不起作用。要让它自动运行,我需要做什么?

我已经尝试了亚马逊aws sqs,但这没用,因为我可以排队工作,但就此而言,它没有选项设置端点来接收工作。

我知道有铁。但我的预算之外。

下面是我将作业推送到数据库的代码

public function queue()
   {
       $user = Property::find(1);
       $this->dispatch(new SendReportEmail($user));
   }
答案

我不能说亚马逊sqs是无用的你可以在你的scheduled jobs laravel上使用一个工作,并使用taht从亚马逊sqs接收工作,参考要处理的文件/行,你可以获得工作的有效负载,并相应地处理与预定的工作。

这里的帮助是tutorial on setting up a queue listener for sqs via laravel

以上是关于退出终端时运行laravel队列侦听的主要内容,如果未能解决你的问题,请参考以下文章

如何使用pytest正确退出队列和Qthread进行测试?

如何将 Laravel 队列工作限制为一个执行结束出口?

在 JMS 队列侦听器 onMessage 方法中运行异步代码 [关闭]

Laravel 运行队列处理器 queue:work 与 queue:listen 区别及 Windows 终端命令问题

Laravel 运行队列处理器 queue:work 与 queue:listen 区别及 Windows 终端命令问题

Laravel 队列与 beanstalkd 和 redis 重复