Conexión siendo eliminada

Hola,

Estoy trabajando en un plugin para Discourse llamado Disraptor, que funciona como una especie de proxy inverso para permitir incrustar otro sitio web en el contexto de Discourse.

El sitio web que debe ser incrustado de esta manera actualmente tarda mucho tiempo en servir ciertas rutas. Por lo tanto, se recibe una plantilla “not_found” renderizada después de 30 segundos.

Ahora, soy consciente de que el tiempo de espera estándar para los workers de Unicorn es de 30 segundos en el entorno de producción. Por lo tanto, comencé a aumentar este tiempo de espera modificando la configuración de Unicorn. Al observar el registro de errores de Unicorn, puedo confirmar que el worker de Unicorn ahora se mata más tarde, pero aún así se sigue renderizando la plantilla “not_found” (antes de que el worker sea terminado).

Después de buscar más, no pude encontrar ninguna pista sobre de dónde proviene este tiempo de espera de 30 segundos o dónde está configurado. Aunque el largo tiempo de servicio es un problema en sí mismo y probablemente se solucionará en el futuro, en este momento sería perfecto si hubiera una posibilidad de cambiar ese tiempo de espera.

¿Alguien tiene una idea de cómo podría funcionar esto?

¡Gracias de antemano!

Creo que el tiempo de espera de unicornio de 30 segundos proviene de aquí: discourse/config/unicorn.conf.rb at main · discourse/discourse · GitHub

Sería bueno si hubiera una forma de cambiarlo, por ejemplo, mediante ENV[“UNICORN_TIMEOUT”] en producción.