如果我在带有Laravel 4应用程序的服务器上运行带有Supervisor的Beanstalk,并且我希望它以异步方式处理所有队列 - 尽可能多次同时处理 - 我可以同时运行多个侦听器吗?他们是否足够聪明,不会从队列中"拿走"相同的待办事项,或者他们是否会同时到达同一个项目,因此不能按照我想要的方式工作? 简而言之,我想使用队列一次处理多个任务 - 这可以做到吗?
php artisan queue:listen && php artisan queue:listen && php artisan queue:listen
Run Code Online (Sandbox Code Playgroud)
简而言之,我想使用队列一次处理多个任务 - 这可以做到吗?
简而言之 - 是的,它可以做到.工人所从事的每项工作都会被锁定,直到它被释放.这意味着其他工人将获得不同的工作来处理.
IMO最好将Supervisor配置为运行多个queue:work命令.它只需要一个作业,处理它并停止执行.不鼓励在无限循环中运行PHP脚本(如同queue:listen),因为一段时间后它们可能会出现内存问题(泄漏等).
您可以将Supervisor配置为重新运行已完成的工作人员.
| 归档时间: |
|
| 查看次数: |
2344 次 |
| 最近记录: |