我想通过 Celery 收听现有的 SQS 队列。 我已经通过芹菜发布到队列,然后通过绑定到该队列的工作线程和任务从该队列中使用。 但是,如果发布者是非芹菜 Django 应用程序,我无法弄清楚如何从 SQS 队列中使用。互联网上没有关于此的此类信息,或者至少我无法找到它。有人可以指导我找到一些文档来执行此操作吗?
如果我正确理解你想做什么,我有个坏消息要告诉你——这是不可能的。芹菜只能消费自己的消息。如果你的 Django 应用程序需要使用 SQS 作为代理向 Celery 集群发送一些任务,它需要实例化一个 Celery 应用程序对象,并使用它来发送任务。
我不会使用芹菜。我会在自定义 Django 管理命令中直接使用boto3
来长轮询队列并解析/路由传入的消息。
芹菜不会给你任何东西,只会增加实现的复杂性。