我正在处理一个图像处理网站,而不是让用户浏览器占用冗长的工作量,我希望所有命令都能快速返回作业ID并让后台任务完成实际工作.然后可以使用id来检查状态和结果(即处理图像的URL).我已经为ruby,java和python发现了很多分布式队列管理器,但我不知道这些语言中是否足够能够使用它们.
我自己的测试是使用共享的mysql数据库来排队作业,将它们锁定到一个worker,并将它们标记为已完成(在db中保存返回数据).这只是一个混乱的原型,整个时间我觉得好像我正在重新发明轮子(而不是非常优雅).我可以使用php中的某些东西(或者我可以与RESTfully交谈吗?)
阅读更多,我发现我正在寻找的是一个具有php api的排队系统,它不必用php编写.我只找到了与亚马逊SQS一起使用的课程,但不仅是这些课程不是免费的,而且有时也是非常潜在的(一段时间内会显示一条消息).
你试过ActiveMQ吗?它提到了通过Stomp协议支持PHP.有关详细信息,请访问activemq站点.
虽然我已经从你描述的数据库方法中获得了很多好处,所以我不会太担心它.