哪个队列最合适?

时间:2009-09-20 01:33:24

标签: python queue

我正在使用类似于TwitPic的Python构建移动照片共享网站,并且一直在探索各种队列来处理图像处理。我已经研究过RabbitMQ和ActiveMQ,但我认为我的用例有更好的解决方案。我正在寻找一些更轻巧的东西。我愿意接受任何建议。

3 个答案:

答案 0 :(得分:2)

您可以编写一个使用python的内置multiprocessing库及其Queue的守护进程。

你所要做的就是建立一个工人池,让他们等待队列中的工作。您的主进程可以将新作业转储到队列中,您可以继续使用。

答案 1 :(得分:1)

Gearman很好,因为它可以选择性地同步多个工作人员执行的多个作业。

我在一些大批量应用程序中成功使用了beanstalkd

后者更适合异步作业,前者在您希望阻止作业执行时为您提供更大的灵活性。

答案 2 :(得分:0)

您在考虑单机架构还是一组机器?将映像转发到同一台机器或不同机器上的可用工作进程并没有太大的不同,特别是如果您使用TCP套接字。了解工作人员的可用性,在必要时产生更多资源并且资源可用,如果工作人员崩溃等,则采用故障安全机制,逐渐使问题变得更加复杂。

这可能就像使用httplib将图像推送到运行Apache或扭曲的私有服务器以及cgi应用程序集合一样简单。当您添加其他服务器时,请在其中循环请求。