将EC2实例设置为Celery Worker,并将本地计算机作为主机

时间:2011-06-23 19:17:25

标签: python amazon-ec2 multiprocessing celery

与我的问题类似here我正在尝试设置多个亚马逊EC2实例来进行多处理。我正在考虑使用Celery来管理工人。有没有人让芹菜在使用本地计算机作为主机的EC2实例上工作?

有没有人有任何可能有用的好建议,教程,建议等?我已经使用芹菜在django中做了一些简单的异步过程,但没有这种规模(工作者和主机在同一台机器上)。

此外,大多数处理都是“基于文件的”(即读取和写入文件)......你认为用芹菜来挑选和传输文件的内容会更好(大多数文件都是1-2kb的文本)或镜像跨越EC2实例的文件系统,然后让工作人员返回结果(通常是0.5 kb的文本)。

1 个答案:

答案 0 :(得分:1)

我使用Amazon SQS进行Amazon EC2的任务管理。这是一个非常可扩展的解决方案我发现,Boto是管理亚马逊服务的最佳库。

对于存储大量小文件,您可以使用MongoDB GridFS,它将允许您存储本地文件的演出。我使用了MongoDB,并且完成了这些任务的完美性能。唯一的问题 - 32位架构上的MongoDB非常有限。亚马逊有微实例,下一个成本大的实例支持64.微实例非常受CPU和内存的限制,如果它不适合你需要你需要设置大,这可能会花费很多。

我的任务上的微型实例能够每天读取/写入多达10场演出而没有任何问题。

另请参阅竞价型实例。它的成本比按需要少3倍,你可能会觉得它们非常适合后台处理。