Сельдерей выполняет только синхронные задачи - PullRequest
0 голосов
/ 20 марта 2020

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

Вот конфигурация расписания Celery:

app.conf.beat_schedule = {
     'sync': {
         'task': 'app.task_to_sync',
         'schedule': 0.2
     }
}

(расписание установлено до 0,2 с. для тестов).

А вот запрос пользовательского запроса:

task_to_sync.apply().get()

Я установил эти настройки, чтобы предотвратить вызовы асин c:

settings.task_always_eager = True
settings.task_eager_propagates = True

но задачи, вызываемые пользователями, конфликтуют с запланированными. Есть идеи?

1 Ответ

0 голосов
/ 20 марта 2020

Использование удара сельдерея, «энергичных» задач, а также планирование произвольных задач не имеет смысла. «Стремительные» настройки, по моему скромному мнению, хороши только для целей тестирования. Вы, вероятно, будете более довольны рабочим solo или стандартным prefork с одним рабочим процессом (--concurrency=1).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...