我正在切换任务命名方案。代码的某些部分仍使用旧名称,有些使用新名称。所以,我的问题是:什么是别名Celery任务的正确方法?
@task
def new_task_name():
pass
old_task_name = new_task_name # doesn't work
app.tasks['old_task_name'] = new_task_name # still doesn't work
我得到类似的错误:
Received unregistered task of type 'app.tasks.old_task_name'
更新
我目前的解决方案是转发任务。但我仍然希望有一个更清洁的方法:
@task
def old_task_name():
new_task_name.delay()
答案 0 :(得分:0)
@app.task(name='this-is-the-name')
def new_task_name():
pass
答案 1 :(得分:0)
这个问题很古老,但是更直接的方法是:
@task(name='old-name')
def old_task_name(*args, **kwargs):
return new_task_name(*args, **kwargs)
Celery任务仍然可以称为普通方法。