将动态任务添加到芹菜中



我正试图找到一种方法,在执行了芹菜工作者并实例化了芹菜之后,将新任务添加到芹菜中。我基本上想添加一个基于用户输入的动态名称的新任务。我还想为这个新任务设置一个费率限制。

我找不到任何关于这方面的文档,也没有在我的谷歌搜索中找到任何例子。我所能找到的就是用芹菜节拍动态添加周期性任务。

有什么办法做我想做的事吗?

您想要实现的目标并非微不足道。我不知道有任何类似Celery的分布式系统允许这样的事情。

唯一的方法可能是动态创建和运行一个新的Celery工作程序,并以您喜欢的方式添加和配置新任务。。。

您可以将任务注册为:

def dynamic_task():
return "Hi"
dynamic_task = app.task(dynamic_task, name='my_name')

请注意,您可以用这种方式注册函数列表,然后您将需要重新启动工作程序,但是您可以使用信号https://docs.celeryproject.org/en/stable/userguide/signals.html也