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記事ということで頑張りたいと思います。
よろしくお願いします!

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでこちらから行うことが可能です。

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
Amazon EC2|Red Hat Linux 7.3で“Muninインストール“や“パッケージ導... ナマステ~! 私はナラヤンです! 今回が初投稿になるのですが、実はこれまで何度か本bitWave上でも登場していました。 <bitWave関連記事『おもてなしの企業の社員が、ネパール人をおもてなししてみた!』> <bitWave関...
継続的インテグレーションツール『Jenkins』を触ってみた... こんにちは。M.Sです。 現在、『Jenkins』からSeleniumを実行するお題に取り組んでいます。 『Jenkins』ってなに? 身近な継続的インテグレーションとは 『Jenkins』はjavaで実装されたオープンソー...