La risposta alla tua domanda si trova nella domanda stessa. puoi uccidere i processi ruby usando god gem che è il framework del processo del processo di ruby creato da github guys.
in fondo, ecco come funziona:
- configure dio per monitorare processo può essere qualsiasi cosa, da apache, passeggero, bastardo o semplicemente semplice file di fare un lavoro di lunga durata.
- Imposta condizionali nel file di configurazione di dio in base al quale dio eseguirà un codice predefinito.
Ecco un semplice esempio (tratto da docs). considerare questo come processo in esecuzione di file lunghi che corre undefiantly cui vogliamo monitorare l'utilizzo della memoria, consente di chiamare simple.rb
loop do
puts 'Hello'
sleep 1
end
ora, installiamo il god
gemma & configurarlo per come l'esecuzione come utente root in modo che possa uccidere/generare i processi e successivamente creare un file di configurazione. esempio (tratto anche da docs):
God.watch do |w|
w.name = "simple"
w.start = "ruby /full/path/to/simple.rb"
w.keepalive(:memory_max => 500.megabytes)
end
Qui, come avrete avuto l'idea, se l'utilizzo della memoria processo va sopra 500 megabyte, Dio riavviarlo. qui ci sono poche risorse che potrebbero aiutare, se si è iniziato con la gestione dei processi utilizzando god
gemma:
Ora, ricordate ALL con la figurazione per god
è in realtà un codice ruby legale, quindi puoi essere creativo & fare ogni genere di cose.
, infine, se si sono spesso trovarsi in esecuzione processo lungo in esecuzione, vi consiglio di provare JRuby quali è funziona molto meglio con i processi di esecuzione prolungata a causa di JVM & molto più veloce di risonanza magnetica