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