Я работаю над проектом, основное будущее которого будет периодически запускать один тип задачи async для каждого пользователя. Каждый пользователь сможет настроить задачу (работает ежедневно, еженедельно и т. Д. В указанное время). Также задача будет использовать некоторые данные, хранящиеся пользователем. Теперь я задаюсь вопросом, какой подход должен быть лучше: позволить пользователям создавать собственную PeriodicTask (например, используя ограниченную конечную точку) или создавать одиночную PeriodicTask (например, каждые 5 минут), которая будет перебирать всех пользователей и определять, должна ли быть задача в очереди или нет для текущего пользователя? Я думаю, что буду использовать AMPQ в качестве брокера.Сельдерей PeriodicTask для пользователя
2
A
ответ
1
Планировщик периодических заданий в сельдерее не предназначен для обработки тысяч запланированных задач, поэтому с точки зрения производительности гораздо лучше решить одну задачу, которая выполняется на наименьшем интервале (например, если вы разрешаете пользователю осуществлять ежедневную, еженедельную , ежемесячно - работает задача ежедневно достаточно)
такого подход и более стабильный - каждый раз, когда изменения в расписании, все расписания записи перезагружается
плюса является более безопасным, потому что вы не подвергать или использовать любой внутренний механизмы для выполнения задач
Смежные вопросы
- 1. Сельдерей PeriodicTask не истекает
- 2. Сельдерей PeriodicTask аргументы
- 3. django-сельдерей PeriodicTask и это поле
- 4. Джанго-сельдерей PeriodicTask получения последнего времени работы с использованием DatabaseScheduler
- 5. Управление интранетами для PeriodicTask
- 6. PeriodicTask with Django + Celery
- 7. Сельдерей/Kombu игнорируя run_every
- 8. FileNotFoundException при запуске PeriodicTask
- 9. Сельдерей/Django: получить результат выполнения периодических заданий
- 10. Android GcmNetworkManager PeriodicTask - setRequiredNetwork поведение
- 11. wp8 PeriodicTask и сохраняемое хранилище
- 12. delete Задача/PeriodicTask в сельдерее
- 13. Сельдерей и джанго, лесозаготовки Сельдерей
- 14. Сельдерей подходит для этой задачи?
- 15. сельдерей для разных часовых поясов
- 16. Сельдерей для управления Java задач
- 17. Собственные параметры метода PeriodicTask run() в Celery
- 18. сельдерея: начиная PeriodicTask после начала рабочего
- 19. Сельдерей (Django) Ограничение скорости
- 20. Автоматизация в Джанго: Сельдерей
- 21. WP Run periodictask каждые 5 минут
- 22. Распространение домена django-сервера с работниками сельдерей
- 23. как создать periodictask в сельдерее и Джанго для конкретного экземпляра модели
- 24. Django Celerybeat PeriodicTask работает намного больше, чем ожидалось
- 25. Задачи, повторяющиеся в сельдерей
- 26. Как встать Напоминание через PeriodicTask в WP7 Mango?
- 27. Уведомление пользователя ScheduledAgent
- 28. Как запустить сельдерей и сельдерей из той же команды
- 29. Отключить задания на сельдерей
- 30. Создать сельдерей нескольких очередей
Минимальный промежуток времени в день? или он идет ниже этого? Если ежедневный минимум, можете ли вы установить однократное выполнение задачи для всех пользователей? Как задание будет выполняться в 12:00 AM независимо от того, когда пользователь создал его (если задача действительна в соответствии с установленным пользователем временем)? –
Я отредактировал главное сообщение, чтобы быть более понятным - пользователь также сможет установить время, например, один пользователь может захотеть вызвать задачу в 19:30 вечера, а еще около 11:00 –
. Я думаю, это зависит от того, сколько задержек допустимый при выполнении задачи. Если 5 минут терпимы, вы можете использовать подход с одной задачей. Если задержка не подходит в вашем случае, вы должны выполнить отдельную задачу для каждого пользовательского подхода. –