PHP后台处理


Background processing in PHP

我们正在研究如何从传统的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