Могу ли я определить свойство очереди сельдерея для Задачи во время выполнения? - PullRequest
2 голосов
/ 23 марта 2012

Вариант использования:

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()

1 Ответ

4 голосов
/ 23 марта 2012

Из аскола по IRC:

MyTask.apply_async(args=[], kwargs={}, queue='high_priority_queue')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...