ActiveSupportにあった。知らなかった。
> 'Foo::Bar'.demodulize
=> "Bar"
便利。
ActiveSupportにあった。知らなかった。
> 'Foo::Bar'.demodulize
=> "Bar"
便利。
ELBにもタイムアウトがあって、そっちが効いちゃってた。
http://dev.classmethod.jp/cloud/aws/change-elb-timeout/
http://blog.tnantoka.com/posts/56
みたいにNginxで返してるとUnicornが落ちてもOutOfServiceになってくれない。
Nginxの設定を以下のように変更。
upstream example {
server unix:/tmp/unicorn-example.socket;
}
server {
listen 80 default_server;
server_name _;
location / {
return 301 https://example.com$request_uri;
}
location = /healthcheck {
proxy_pass http://example;
break;
}
}
Railsは/healthcheck
でok
を返す。
class WelcomeController < ApplicationController
# 認証とかSkipする。
skip_before_action :foo, only: [:healthcheck]
skip_before_action :bar, only: [:healthcheck]
def healthcheck
render plain: 'ok'
end
end
ログが無駄にでるけど、返せなかった時にログあった方が楽なので、ひとまずこのままにしている。
https://github.com/tnantoka/awsaifu
GolangでSSL証明書の有効期限を取ってきてチャットワークに通知 - blog.tnantoka.com とほぼ同じ。なんかイマイチな感じしてきたのでリファクタリングしたい。
aws/aws-sdk-go · GitHubを使ったんだけど、Goに慣れてないのもあって、結構つまづいた。
https://github.com/mob-akiyama/sensu-plugins-go/blob/master/rds.go がめちゃくちゃ参考になった。ありがとうございます。
課金額の取得はこの辺りを参考にした。
最近なぜか学習欲が湧いており、いろいろ浮気しちゃってるけど、引き続きGoの練習中。
で、調度良い題材が降ってきたのでいつもならRubyで済ませるところをGoでやってみた。
まず、事前準備として、以前も使ったチャットワーク通知部分を別パッケージに分離した。
https://github.com/tnantoka/chatsworth
名前はチャギントンから借りた。響き似てるよね、チャットワークとチャッツワース。
本題の方はこちらに置いた。
https://github.com/tnantoka/notafter
復数サイトにアクセスする…これはgoroutineだ!channelだ!!ということで使ってみました。
ようやくGoらしいプログラムを書いた気分。
次はAWSのSDKを触ってみようと思っている。