1
0
hugo/old/2016-06-15-iron.io.md
2024-12-21 16:29:14 +09:00

48 lines
1.3 KiB
Markdown

+++
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を組み合わせることで色々と出来そうです。