heroku clojure jetty compojure

heroku - Limitando la cantidad de hilos que genera Compojure



clojure jetty (1)

Estoy ejecutando compojure en Heroku. Tienen un límite de 100 hilos por proceso. Entonces, cuando sobrepaso ese límite, obtengo: java.lang.OutOfMemoryError: no se puede crear un nuevo hilo nativo. Compojure está utilizando el adaptador de anillo de muelle. ¿Está lejos de configurar el servidor para aceptar solo cien hilos al servlet a la vez?


La solución proviene de Chris Perkins en el grupo de google compojure .

(run-jetty app {:configurator #(.setThreadPool % (QueuedThreadPool. 5))})

Esto inicializa un QueuedThreadPool (con un límite concurrente de cinco hilos) a la instancia de embarcadero, antes de que comience.