Соединение обрывается

Здравствуйте,

Я работаю над плагином для Discourse под названием Disraptor, который функционирует как своего рода обратный прокси, позволяя встраивать другой веб-сайт в контекст Discourse.

Сайт, который нам необходимо встроить таким образом, в настоящее время тратит слишком много времени на обработку некоторых маршрутов. В результате через 30 секунд возвращается рендеринг шаблона “not_found”.

Я знаю, что стандартный таймаут для воркеров Unicorn в продакшн-окружении составляет 30 секунд. Поэтому я начал с увеличения этого таймаута, изменив конфигурацию Unicorn. Судя по логу ошибок Unicorn, воркер теперь действительно убивается позже, но шаблон not_found всё равно рендерится (ещё до того, как воркер будет завершён).

После дополнительных поисков я не смог найти никаких указаний на то, откуда берётся этот 30-секундный таймаут или где он настроен. Хотя сама по себе длительная обработка запросов является проблемой, которую, вероятно, удастся решить в будущем, сейчас было бы идеально, если бы существовала возможность изменить этот таймаут.

У кого-нибудь есть идея, как это можно реализовать?

Заранее спасибо!

Я полагаю, что тайм-аут Unicorn в 30 секунд берется отсюда: https://github.com/discourse/discourse/blob/main/config/unicorn.conf.rb#L39

Было бы неплохо, если бы существовал способ изменить его, например, через ENV[“UNICORN_TIMEOUT”] в продакшн-среде.