如何从其他程序向celery添加任务?

0 投票
2 回答
2850 浏览
提问于 2025-04-18 11:33

我们在一个像守护进程的程序中使用celery,并且用redis作为消息中介。请问我们怎么才能从另一个程序往这个守护进程里添加任务呢?这样做有可能吗?

补充说明:

如果之前的描述不够清楚,其实是有两个不同的程序,代码也是分开的。我希望找到一种方法,不是从后一个程序里导入任务。

2 个回答

0

我在找一种解决方案,不想从后面的程序中导入任务。

运气不好哦。Celery 的文档提到,工作者和客户端需要使用相同的软件。所以你的客户端代码必须导入一个 Celery 任务,并且负责在应用程序的控制流程中调用它。

参考资料:

1

现在这是可能的。

给工作者中的任务起个名字。

@app.task(name='addTask')

通过名字从生产者那里调用。

app.send_task('addTask', (i, 3))

示例

撰写回答