+++ date = "2016-06-15" tags = ["pc"] title = "iron" slug = "iron" +++ よく[Lambda](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html)と[Iron](https://www.iron.io/)が比較されていますが、後者のほうを使ってみました。 Free Planはアカウント作成から15日間になります。 基本的には、Iron CLIをインストールして、Dockerでテストして、アップロードするという流れ。 ~~~ bash $ mkdir -p iron/test $ cd !$ $ curl -sSL https://cli.iron.io/install | sh $ echo ' package main import "fmt" func main() { fmt.Println("Hello from IronWorker! ") }' >> hello_worker.go # test $ docker run --rm -it -v "$PWD":/go/src/x/y/z -w /go/src/x/y/z -e "GOPATH=/go/src/x/y/z/vendor:/go" iron/go go build -o hello_worker ... $ docker run --rm -it -v "$PWD":/app -w /app iron/go ./hello_worker # upload $ zip -r hello_worker.zip . $ iron worker upload --zip hello_worker.zip --name hello_worker iron/go ./hello_worker ~~~ 仮にここまでをWorkerの作成とします。 そして、先ほど作成したWorkerをQueue(キュー)に追加します。Queueはスケジュールタスクになります。 ``` bash $ iron worker queue --wait hello_worker ``` これとCIを組み合わせることで色々と出来そうです。