RobustThread : Ruby en mode démon

  • Partager l'article

Lorsque vous faites tourner une daemon (démon) Ruby qui exécute un code en boucle, si le process (processus) est brutalement arreté et que votre code ne gère pas toutes les erreurs, vous risquez de rencontrer bon nombre de problèmes. RobustThread est justement là pour vous éviter ce type d’inconvénients.

C’est une class Ruby écrite par Jared Kuolt dédiée à la création de threads. Elle vous permet de gérer des loggers, des gestionnaires d’erreurs et des callbacks pour vos processus. Par défaut les logs sont envoyés vers la sortie standard mais ceci est configurable via l’objet Logger.

De plus, vous pouvez appliquer des étiquettes sur vos boucles ou vos process afin de faciliter le suivi et le débuggage. Mais surtout, en utilisant RobustThread.loop, vous pouvez changer le fonctionnement des boucles pour que la sortie de se fasse proprement avant de réintégrer le thread.

RobustThread.loop(:seconds => x) do
  do_something
end

RobustThread s’installe très facilement via un gem install robustthread ou en récupérant la source sur Github.

Lien permanent : http://scarfellan.com/HC8ngPC4 - mardi 7 juillet 2009