#python #celery #task-queue
Вопрос:
Я работаю над веб-приложением на Python, которое использует Сельдерей для планирования и выполнения запросов на задания пользователей.
В большинстве случаев запросы, отправленные пользователем, не могут быть решены немедленно, и поэтому мне имеет смысл запланировать их в очереди.
Однако теперь, когда у меня есть вся архитектура очередей, я не понимаю, следует ли делегировать всю логику обработки запросов очереди/работникам или оставить часть работы самому веб-серверу.
Например, помимо планирования заданий, бывают случаи, когда пользователю необходимо выполнить только простой запрос к базе данных или получить статический файл JSON. Должен ли я также делегировать эти «синхронные» запросы очереди/работникам?
Прямо сейчас мои контроллеры веб-серверов ничего не делают, кроме проверки входящих схем запросов JSON и пересылки их в очередь. Каковы плюсы и минусы такого тупого веб-сервера, как этот?
Ответ №1:
Я считаю, что то, как вы это делаете прямо сейчас, плюс предоставление рабочим небольших рабочих мест сейчас-это хорошо. Таким образом, работники будут перегружены в первую очередь в случае атаки или огромного притока запросов. 🙂