rails deploy app and ruby-on-rails ruby multithreading heroku puma

ruby on rails - deploy - Cómo verificar la seguridad de los hilos de la aplicación Rails para Puma



puma rails deploy (1)

Deseo implementar mi aplicación Rails en Heroku usando el servidor web Puma. Sin embargo, no estoy seguro de si todas las gemas son seguras para hilos. Leer todo el código fuente de Gems no es una opción viable para nosotros.

¿Hay alguna manera de verificar automáticamente todas las gemas para seguridad de hilos? ¿O Puma se queja / muestra el registro de error específico si se ejecutó / detectó el código inseguro del hilo?


La seguridad del hilo no se puede detectar en general. Si había alguna manera de detectarlo automáticamente, probablemente su compilador / intérprete lo advertiría al respecto. Las condiciones de carrera no pueden detectarse con sistemas automáticos, incluso pueden ser difíciles de reproducir.

Dependiendo de tu intérprete:

  • CRuby tiene GIL , entonces usar Puma con él no tiene sentido.
  • Si está utilizando JRuby o Rubinius , probablemente Puma beneficie de Puma y, probablemente, las gemas que utiliza hayan documentado la seguridad de los hilos de sus métodos / clases. En este caso, todo lo que necesita es verificar su código.