4
我在Python中使用Celery运行后台任务,并找不到任何明确的答案来解决我是否可以从任务实现中分离Celery任务定义的问题。Celery任务的定义和实现是否可以拆分?
例如,采取下面的非常简单的任务:
@celery_app.task
def add_numbers(num1, num2):
return num1 + num2
定义和实现都在同一个文件,即当呼叫者进口该模块调用add_numbers
,无论是定义和实施都是进口的。
在这种情况下,不是那么糟糕。但是我的任务稍微复杂一些,导入了调用者不需要的多个模块和包,我想避开调用者。
那么,芹菜是否提供了一种方法来做到这一点?还是我违背框架?这是一个问题吗?
我看到这个问题Celery dynamic tasks/hiding Celery implementation behind an interface 实现后面的界面,但它已经超过两年了 - 足够多的时间用于改变。