La respuesta a su pregunta yace en la pregunta misma. Puedes matar los procesos de ruby usando god gem, que es el marco de trabajo del monitor de proceso de ruby por github guys.
básicamente, aquí es cómo funciona: dios
- configurar para supervisar el proceso puede ser cualquier cosa de Apache, pasajero, mestizo o simplemente simple de archivos haciendo una tarea de larga duración.
- Establecer condicionales en el archivo de configuración de dios en función del cual Dios ejecutará algún código predefinido.
aquí hay un ejemplo simple (tomado de docs). considerar esto como a largo proceso que se ejecuta el archivo que se ejecuta undefiantly el que queremos monitorizar el uso de memoria, vamos a llamarlo simple.rb
loop do
puts 'Hello'
sleep 1
end
ahora, instalamos el god
joya & configurarlo para que se ejecute como superusuario por lo que puede matar/generar procesos y luego crear un archivo de configuración. ejemplo (también tomada de docs):
God.watch do |w|
w.name = "simple"
w.start = "ruby /full/path/to/simple.rb"
w.keepalive(:memory_max => 500.megabytes)
end
Aquí, como es posible que haya conseguido la idea de si el uso de memoria de proceso es mayor de 500 megabytes, dios lo reiniciará. aquí están algunos recursos que pueden ayudar, si se están iniciando con la gestión de procesos utilizando god
joya:
Ahora, recuerde TODO con la figuración para god
es en realidad código de rubí legal para que pueda ser creativo & hacer todo tipo de cosas.
por último, si usted está con frecuencia encontrando corriendo proceso de larga duración, os aconsejo probar JRuby la que se trabaja mucho mejor con procesos de larga ejecución debido a la JVM & mucho más rápido que la RM