【发布时间】:2014-01-27 07:34:49
【问题描述】:
我有一个基于 EC2 的 REST Web 服务,它通过 SQS 连接到一组工作实例。我希望用Celery 替换当前的设置,保留(目前)SQS 作为代理。
不过,我不确定我对 Celery 运作方式的心理印象是否准确。按照this 文章中似乎暗示的模式,我的理解是我可以从我的 API 将消息排队到 SQS,然后这些消息将由 Celery 工作人员及时处理。然而,我发现的示例(几乎没有一个涉及使用 SQS 作为代理)似乎表明 Celery 本身 进行了排队。所以 Celery 就像队列、提交和处理任务的“包装器”。它同时充当生产者和消费者——对吗?如果是这样,那对我来说似乎是个大问题,因为我不使用 Python。工作人员自己会使用 execl() 来运行实际任务,但我将如何处理从 API 服务器将消息初始提交到队列中?这是 Celery 允许的吗?
我是对的,还是我最初的理解是准确的?或者它们是同样合法的 Celery 使用方式?
【问题讨论】:
-
This 文章指出,可以使用不同的自定义消费者(工作者)或生产者(客户端)代替 Celery。
标签: celery message-queue amazon-sqs