用例:
class MyTask(Task):
queue = 'default_queue'
def run(self):
# do work
通常我会运行以下使用指定的'default_queue'。
MyTask.delay()
我需要做的是:
if hours_since_last_login > 24:
MyTask.delay() # using the queue 'high_priority_queue'
else:
MyTask.delay() # using the 'default_queue'
我知道我可以将MyTask子类化为覆盖queue
属性,但有没有办法在运行时定义它?
以下是正确的方法吗?
task = MyTask()
task.queue = 'high_priority_queue'
task.delay()
答案 0 :(得分:4)
来自Askol的IRC:
MyTask.apply_async(args=[], kwargs={}, queue='high_priority_queue')