3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Zapierとwerckerでdockerベースのバッチ処理を無料で行う

Posted at

概要

werckerには、APIを使ってpipelineを実行する機能があり、zapierにはscheduleを決めて、webhookとしてpostすることができる。
それらを組み合わせて、werckerを使ってバッチ処理を行う。

メリット

  • werckerはdockerベースなので、言語や環境などを問わない。
  • どちらも無料の範囲でやれる。

やり方

werkerの設定

まずwerckerでpipelineを設定する。
やりかたは、このあたり の記事を参考に設定してください。

pipelineのURLのうち、
https://app.wercker.com/<ユーザー名>/<アプリケーション名>/workflows/pipelines/<パイプラインID>
という構成になっているので、パイプラインIDをメモっておく。

apiキーは、settingsのPersonal tokensから取得しておく。

zapierの設定

Scheduleをトリガーに、webhookをアクションに設定する。
webhookはPOSTするようにする。
設定は、以下の通り

設定 内容
URL https://app.wercker.com/api/v3/runs/
Payload Type JSON
Data pipelineId:<werckerでメモしたパイプラインID>
Headers Authorization:Bearer <APIキー>

werker.ymlを設定する

個人的に使っているのは、google analyticsの流入キーワードを、bigqueryに保存するという処理で使っているのですが、そのwerckerファイルです(かなりやっつけ)。

box: ruby
keyword-update:
    steps:
        - script:
            name: gem install
            code: gem install oauth2 legato bigquery signet
        - script:
            name: batch
            code: ruby analytics-batch.rb

最後に

あとはリポジトリにプッシュしておけば、設定したスケジュールにあわせて勝手に実行されると思います。
pipelineを作るときは、git pushに連動しないようにしておくと、勝手に実行されないのでいいかも?

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?