Laravel消费队列运行的正确使用方法

发布时间:2023-05-20 19:05:04 阅读:866次

目前版本 ( version >= 5.3) 有三种方式进行队列消费

queue:work

这是一个新的后台进程(不再需要 daemon 标记), 这种方式运行,框架只会启动一次,并保持循环去消费队列,除非出现异常否则该进程将无限时间运行下去。这种方式消耗的 cpu 和 内存 都比 queue:listen 要少,因为在整个生命周期中框架一直是在保持运行状态。同时,使用该方法时如果更新了代码,记得使用 queue:restart 来重启。

queue:work --once

该方法会启动框架,运行 job,然后销毁掉。在开发和测试代码的时候使用比较合适,因为每次都会加载一遍代码嘛。

queue:listen

这种方式运行,框架每次都会启动,运行job,然后关闭,然后再次启动框架,运行job,然后关闭,这样一直循环(每次运行完一次都会完全释放掉运行时的内存和进程)。所以这种方式你不用担心代码的热更新,不用去重启 queue,随之而来的另外一个好处是不用去担心 queue:work 带来的内存泄漏。

注意 从 5.3 版本开始 --daemon 这个参数已经不再起作用了,可以看 Illuminate\Queue\Console\WorkCommand.php

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:Laravel消费队列运行的正确使用方法 出自老鄢博客 | 欢迎分享