问题描述
假设我有两个 python 包
producer
consumer
它们位于不同的存储库中(并在不同的服务器上运行)
我想用 Celery 实现一些后台任务
producer
将创建任务,consumer
将执行它们
现在,celery 似乎是这样完成的,任务代码必须在 consumer
和 producer
之间共享...
有没有办法让生产者从 celery 任务开始,这样 producer
永远不知道 consumer
的实际源代码?
解决方法
是的,使用 send_task()
- 我之前已经在这里回答过类似的问题。这个函数的美妙之处在于您只需要知道任务名称及其参数,并且您自然需要具有相同的配置(代理、序列化等)。