我们正在研究如何从传统的cronjob转移到分布式任务队列。这样我们就可以输入:
- 可以自动缩放的无状态工作器
- 正确的日志
- 重启任务的可能性 <
- 优先级/gh>
- 调度/排队
- 非技术人员界面
我们有使用Amazon SWF的经验。这是一个很棒的工具,但非常亚马逊。当你将界面与sidekiq进行比较时,你会发现它一点都不友好。此外,它不是为未来6个月安排活动而构建的,这是一个要求。
我看过的其他排队工具有:
- celeryproject.org
- iron.io
- rabbitmq.com
我的问题是什么是最好的后台队列,工作器和仪表板目前是可以被php堆栈使用
您在这里写的内容听起来不像是在线队列服务的用例,而像是自托管队列的用例。最有名的可能是 beanstald ,它是在您自己的服务器上运行的队列服务,因此您可以非常自由地为您想要的任何时间范围进行调度和排队。就个人而言,我喜欢redis,它在这里也做得很好。
还有,看看laravel。它将为您提供一个开箱即用的工作队列和调度系统,该系统具有用于上述自托管队列提供程序的连接器,还具有iron, amazon sqs,…
除了@michael所说的,还有Gearman。
Amazon也有SQS,可以与SNS一起使用,形成一个作业队列。
没有"最好"的,但我相信beanstalkd是最容易设置的
如果你对Laravel队列感兴趣,他们有一个漂亮的UI叫做Laravel Horizon