WORKER TIMEOUT
означає, що ваша програма не може відповісти на запит у визначений проміжок часу. Ви можете встановити це за допомогою налаштувань тайм-ауту . Деяким додаткам потрібно більше часу для відповіді, ніж іншим.
Інша річ, яка може вплинути на це - це вибір типу робітника
Синхронні працівники за замовчуванням припускають, що ваша програма пов'язана з ресурсами з точки зору пропускної здатності ЦП та мережі. Як правило, це означає, що ваша програма не повинна робити нічого, що потребує невизначеного часу. Прикладом чогось, що потребує невизначеної кількості часу, є запит в Інтернет. У якийсь момент зовнішня мережа вийде з ладу таким чином, що клієнти накопичуються на ваших серверах. Отже, у цьому сенсі будь-яка веб-програма, яка надсилає вихідні запити до API, виграє від асинхронного працівника.
Коли у мене виникла така ж проблема, як і у вас (я намагався розгорнути свою програму за допомогою Docker Swarm), я намагався збільшити час та використання іншого класу робітників. Але все не вдалося.
І тоді я раптом зрозумів, що обмежую свій ресурс занадто низьким для обслуговування всередині мого композитного файлу. Ця річ уповільнила додаток в моєму випадку
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
Тому я пропоную вам перевірити, що саме сповільнює ваш додаток
Gunicorn==19.3.1
іgevent==1.0.1