Короче, сельдерей предпочтительнее. Но есть компромиссы в каждом подходе. Я перечислю плюсы / минусы каждого метода.
Сельдерей:
Плюсы:
- сельдерей: это фоновый процесс, который работает как рабочий, слушая какого-то брокера обмена сообщениями (в сельдерее есть поддержка для настройки rabbitmq / redis / sqs в качестве брокера сообщений)
- вам не нужно настраивать код рабочей панели для прослушивания очереди
- Легко управляемый и расширяемый для будущих нужд
- Как только вы глубоко разберетесь во всем, это просто вопрос конфигурации. Django -целий имеет отличную документацию
Минусы:
- Вряд ли можно заставить вещи работать с точностью до цента, если у вас нет глубокое понимание
- Сельдерей имеет ограниченную поддержку sqs. Например: события сельдерея не поддерживаются при использовании sqs в качестве посредника сообщений.
Собственный работник:
Плюсы :
- Возможно, у вас будет больше контроля над тем, что должно произойти.
- вы получите изменения для создания базы и продолжения добавления функций по мере необходимости.
Минусы : [Здесь самое интересное]
В промышленности несложно построить что-то, что работает в Ваш локальный ящик функционально. Это больше о: как мы масштабируемся? Как мы справляемся со сбоями? Как сделать наше приложение отказоустойчивым? Как мы справляемся с параллелизмом? Как мы обрабатываем дубликаты (в данном случае)? и многое другое ..
Хороший код для разработчиков, лучшие разработчики для повторного использования. Таким образом, следует избегать написания кода котельной плиты, когда каркас существует.