スキップしてメイン コンテンツに移動

Goをdaemonizeするのにdockerが最適

Goはdaemonが弱かった

この記事で書いたとおり、私はGoのdaemonについて考えてきました。

解決法

1年ほど前から、Goのdaemonはdockerで実現しています。
(御存知の通り、dockerはGo製ですが、daemonを実行するすべを結構ちゃんと持っているみたいで。serviceなどに頼ればよかったんですが、そこを手で書くのも、パッケージ使うのもなぁと思っていたので、dockerいいなと。)

imageはalpineを使っています。これに必要なlibc類をいれて、cgoをnoにして、使っています。今のところこれで問題ないので運用していますが、何か問題が出たらまたここにかくかもしれません。

コメント

このブログの人気の投稿

GoのHelloWorld!

どうも。de-liKeRというブログで普段は書いてます、 @CreatorQsF です。 知ってる人は知ってるのかな。 さて、本日より、私、GoLangの魅力に触れて感動したので、作っているプロジェクトとwebアプリをPHPからGoへ移行することを宣言いたします。 構文と仕様はいろんなところのを引っ張ってきた感じで、その際にCを学んだ時みたいにアウトプットする場がほしいので、こうして作りました。 よろしくお願いします。 さてさて、ではインストールから説明。 how to install go lang on mac? 説明ってほどでもないです。 普通にHomebrewで、 brew install go sudo install Mercurial を叩いてください。(MercurialはなんかGoに必要らしいです。) で、bash_profileでもなんでもいいのでパスを通しまーす export GOROOT=`go env GOROOT` export GOPATH=$HOME/ ホーム以下好きなディレクトリを指定し給え。 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin でこれでインストール自体は終わり。あとでRevelについては書きますのでとりあえず動くかどうかだけ。 テキトウなところに、test.goってファイルを作ります。 中身こんなかんじで書いて下さい package main import fmt "fmt" func main() {   fmt.Print("Hello World!") } これで終わり。めっちゃ簡単♪ であとはTerminalから cd test.goがあるディレクトリ go run test.go でほんとに、めっちゃ高速で結果が表示されます。スクリプト言語並みです。 ってなもんです。質問あったら是非おきがるにHangoutかGoogle+へどうぞ。

GoでPodcast用のサーバーを組むときに良い(良さそうな)lib

いい感じのライブラリ、あります。 現在作成中のPadio(仮名)というサービスではこれを使っています(が、しかしもしかしたら変えるかも。現状はすごい満足)。 https://github.com/eduncan911/podcast https://godoc.org/github.com/eduncan911/podcast

Vaffle.vimがいい感じ

実はいまのいままで、ずっとUnite.vimを使い続けてきていました。 Shougoさんのunite.vimは確かに素晴らしかったです。しかしながら、私には到底使い切れるものでもなく、もったいないとおもいつつ、ファイラーとmruのみを使う日々が続いておりました。 御存知の通り、随分前にご本人はすでにuniteからdeniteへと移行をしています。 知らなかったわけではないんですが、動いてるし速度にも問題を感じることがなかったので放置していました。 しかし今回、現状に合わせて、この部分を考え直すことにしました。要するにVimのファイラをどうしよう問題です。 で、いろいろ見た限り、わたしには、 https://github.com/cocopon/vaffle.vim これが最も適しているようでした。 ブログ記事はこちらです。 http://cocopon.me/blog/?p=6084 かなり気に入っています。動作はなかなかに速いですし、hjklで移動できる感覚も、なれると良いものですね。 あとはmruをどうしようかなーというところのみとなりました。