hubotと戯れてみる #番外編 hubotをデーモン化する

hubotと戯れてみる #番外編 hubotをデーモン化する

slackからhubotへの連携を連載していますが、今回は今まで触れてこなかったhubotのデーモン化を設定をしてみます。

hubotのデーモン化とは?

当たり前なのですが、bin/hubotでプログラムを起動してもコンソールを閉じたりしたらhubotは停止してしまいます。バックグラウンドで、動き続ける仕組みが必要です。

UNIXなどのマルチタスクオペレーティングシステム (OS) においてバックグラウンドで動作するプログラムをデーモンと呼んでいます。

つまり、今回やりたいことはhubotをデーモン化(バックグラウンド起動)する事で安定的に動作させ続ける事が目的です。

ちなみにデーモンという名称の由来は、悪魔の「demon」ではなく守護神の「daemon」です。「だえもん」さんと言われたりします。

foreverでデーモン化

デーモン化は、nodejs関連では forever が広く利用されているようです。npmからインストールできるのも手軽でいい感じです。

npmからforeverのインストール

簡単ですね。

foreverでデーモン化です。

forever start でプログラムをバックグラウンドで実行します。

オプション w は、ファイルの更新を検知し再起動を行います。
このオプションは、なくても良いかと思います。

hubotのモジュールをアップした際にいちいち停止・起動をするのがめんどくさいので、このオプションを入れています。

オプション c は、実行するコマンドを指定します。

今回はcoffee node_modules/.bin/hubot –adapter slackを実行します。普段実行するbin/hubotとはディレクトリは違いますがbin/hubotの中身を見るとnode_modules/.bin/hubotを実行しているのがわかるかと思います。

実行の確認をする

このコマンドで、foeverが監視しているプロセスの一覧を表示することができます。また、foreverが残すログのパスも同時に確認できます。

image06

その他

foreverのヘルプはforeverと打てば確認できます。
色々あるので確認するのも良いかと思います。

image04

image05

最後に

しばらく更新をさぼっていましたが、目指せ30記事ということで頑張りたいと思います。
よろしくお願いします!

コメント