Go言語で daemon を作ってみる その1
結局、Revel に関しては、あれ以降特に新たな発見は無く
わざわざエントリにするにはびみょーな状況のまま、
モノは完成してしまったわけです。

ただ、Linux の daemon プロセスの作り方に関しては、
どこも断片的&英語な情報しかなかったので
ちょっとまとめてみようかなと思いました。

とりあえず全3回。GitHub に上げたソースコード類の解説が中心です。

▼ daemon 化を考える前に

Revel の job が使用できないか考えてみることをお勧めします。

・「バックグラウンドで周期的にプロセスを実行する」要件であれば、
Revel の job 機能を使った方がどう考えてもラクチンです。
・Revel の job 機能の使い方に関しては、下記のサイトが参考になります。
revelでHello World

逆に言うと、Revel のプロセスと daemon のプロセスは実行ユーザを別けたい。
# Revel は web のフロントエンドだから非 root で、
# だけど daemon は root で起動する必要がある。とか。
みたいな要件であれば、daemon で実現した方が無難だと思います。

▼ daemon 化に必要なもの

daemon を作る際には、どーしても下記の3つが必要になります。

1)Linux 起動時に、daemon プロセスを起動する(Upstart と表現するようです)
ための設定。
2)daemon プロセス起動用のgo言語のプログラム。
3)ふつーのプログラムにちょっとした配慮を加えたgo言語のプログラム。

3)はどこの Linux でも変わらないと思うのですが
1)と2)は、CentOS 6 と CentOS 7 ではぜんぜんちがいます!
#コツを覚えてしまえば CentOS 7 の方が断然ラクです。

なので、選択の余地があるなら CentOS 7 でやることをお勧めします。

【2017/05/28】 golang / Revel | トラックバック(0) | コメント(0) | page top↑
<<Go言語で daemon を作ってみる その2 | ホーム | 我が家の家計 2017/5>>
コメント
コメントの投稿











管理者にだけ表示を許可する

トラックバック
トラックバックURL
http://hidenov.blog4.fc2.com/tb.php/1366-090ad42d
| ホーム |