Как создать новую очередь сельдерея для периодического задания для приложения django? - PullRequest
1 голос
/ 16 мая 2019

Мне нужно создать периодическое задание, которое будет запускаться каждые пять минут, чтобы проверять служебную шину Azure на наличие новых сообщений. Каждый раз, когда он запускается, я хотел бы, чтобы рабочий процесс оставался активным в течение пяти минут, независимо от того, ожидают ли новые сообщения или нет. Мне нужно также указать новую очередь для этих задач.

В проекте django с установленным сельдереем, где я могу настроить эту новую очередь и вышеупомянутую конфигурацию?

Я создал новый файл python, содержащий класс, который наследуется от PeriodicTask, передавая параметр run_every = 300 для запуска задачи каждые 5 минут. Я хотел бы назначить его на azure_queue, но не знаю, где его настроить

def CheckForProfileUpdates(PeriodicTask)
   run_every = 300

   def run(self, queue_name='azure_queue'):
        result = check_service_bus_for_profile_update()
        if update_was_found(result):
            update = json.loads(result.body)
            #do business logic here

Я бы хотел, чтобы эти задачи выполнялись каждые 5 минут, и каждый раз работник должен оставаться активным в течение этих пяти минут в выделенной очереди с именем 'azure_queue'. Опять же, где я могу указать эти настройки, используя django и сельдерей?

...