【问题标题】:Laravel 4: Queues and Multiple ListenersLaravel 4:队列和多个监听器
【发布时间】:2014-01-10 23:39:30
【问题描述】:

如果我在带有 Laravel 4 应用程序的服务器上运行带有 Supervisor 的 Beanstalk,并且我希望它异步处理所有队列 - 尽可能多的同时 - 我可以同时运行多个侦听器吗时间?他们是否足够聪明,不会从队列中“拿走”同一个待办事项,或者他们会同时到达同一个待办事项,因此不能按照我想要的方式工作? 简而言之,我想使用 Queues 一次处理多个任务 -- 可以这样做吗?

php artisan queue:listen && php artisan queue:listen && php artisan queue:listen

【问题讨论】:

  • 我很确定你必须使用仅受 Laravel 中的 iron.io 驱动程序支持的推送队列。不过也不错。

标签: php laravel


【解决方案1】:

简而言之,我想使用 Queues 一次处理多个任务 -- 可以这样做吗?

简而言之 - 是的,它可以做到。工人从事的每项工作都被锁定,直到它被释放。这意味着其他工人将获得不同的工作来处理。

IMO 最好将 Supervisor 配置为运行多个 queue:work 命令。它只需要一项工作,处理它并停止执行。 不鼓励在无限循环中运行 PHP 脚本(如 queue:listen 所做的那样),因为一段时间后它们可能会出现内存问题(泄漏等)。

您可以配置 Supervisor 以重新运行已完成的工作人员。

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 2019-08-20
    • 1970-01-01
    • 2013-03-27
    • 2012-10-28
    • 2014-05-07
    • 1970-01-01
    • 2018-06-20
    • 1970-01-01
    相关资源
    最近更新 更多