答案 0 :(得分:15)
我已经在生产中使用了Beanstalk,同时测试时通过它投入了数以百万计的简单消息 - 通常是大量的,但生产系统有超过100,000个任务通过它直到我离开公司。它可能仍然在运行,在这种情况下,如果他们按照我的计划进一步扩展了它的使用范围,现在将会有数千万甚至更多。
我会推荐它,因为它有很多优点。
我接下来的第一个任务是图像处理 - 在Apache / mod_php进程之外完成这项工作允许我调整大图像的大小而不影响服务器(吹掉Web服务器)。使用轻载的队列,它在上传后刷新页面之前创建了缩略图。
还有许多其他潜在的任务也可以异步处理。
我遇到的唯一问题是确保工人在没有事故的情况下完成工作 - 或者发现任何错误以便工作可以被“埋葬”,从而确保工作不会被重新排入队列中再次运行(并让工人再次崩溃)。
让工作人员重新启动以清除内存也很有用,因为PHP不太适合长时间运行的进程。