embulk 動か・・・す前に動かし方を考えた
前回導入までの話を書いたので、今日は動かすところと、見せかけて(?)動かし方を考えた話を書いてみました。
元々某関連会社でJP1AJSというジョブ管理ツールの設定やらジョブ管理をやってたのでそういうフレームワークが欲しくなり、検討してみました。
そもそもETLとかのツールって便利なんですけど、ジョブスケジューリングはできず、結局OS標準のスケジューラ使ってみるけど、できることは限られててみたいなパターン多くないですかね?
なので、今回はやったことがないdigdagの環境を作ってみることにしました。
理由は、言わずもがな。
やっぱり、親和性って大事だと思うんだ。
で、今回の導入もいつも通り公式ページの手順で導入。
$ curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest"
$ chmod +x ~/bin/digdag
$ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
$ digdag
2017-11-05 15:38:43 +0000: Digdag v0.9.20
Usage: digdag <command> [options...]
Local-mode commands:
init <dir> create a new workflow project
r[un] <workflow.dig> run a workflow
c[heck] show workflow definitions
sched[uler] run a scheduler server
selfupdate update cli to the latest version
Server-mode commands:
server start server
Client-mode commands:
push <project-name> create and upload a new revision
download <project-name> pull an uploaded revision
start <project-name> <name> start a new session attempt of a workflow
retry <attempt-id> retry a session
kill <attempt-id> kill a running session attempt
backfill <project-name> <name> start sessions of a schedule for past tim es
reschedule skip sessions of a schedule to a future t ime
log <attempt-id> show logs of a session attempt
workflows [project-name] [name] show registered workflow definitions
schedules show registered schedules
disable <schedule-id> disable a workflow schedule
disable <project-name> disable all workflow schedules in a proje ct
disable <project-name> <name> disable a workflow schedule
enable <schedule-id> enable a workflow schedule
enable <project-name> enable all workflow schedules in a projec t
enable <project-name> <name> enable a workflow schedule
sessions show sessions for all workflows
sessions <project-name> show sessions for all workflows in a proj ect
sessions <project-name> <name> show sessions for a workflow
session <session-id> show a single session
attempts show attempts for all sessions
attempts <session-id> show attempts for a session
attempt <attempt-id> show a single attempt
tasks <attempt-id> show tasks of a session attempt
delete <project-name> delete a project
secrets --project <project-name> manage secrets
version show client and server version
Options:
-L, --log PATH output log messages to a file (default: -)
-l, --log-level LEVEL log level (error, warn, info, debug or trac e)
-X KEY=VALUE add a performance system config
-c, --config PATH.properties Configuration file (default: /home/centos/. config/digdag/config)
Use `<command> --help` to see detailed usage of a command.
$ digdag server -m
2017-11-05 15:50:58 +0000: Digdag v0.9.20
2017-11-05 15:51:00 +0000 [INFO] (main): secret encryption engine: disabled
2017-11-05 15:51:00 +0000 [INFO] (main): XNIO version 3.3.6.Final
2017-11-05 15:51:00 +0000 [INFO] (main): XNIO NIO Implementation Version 3.3.6.Final
2017-11-05 15:51:00 +0000 [INFO] (main): Starting server on 127.0.0.1:65432
2017-11-05 15:51:00 +0000 [INFO] (main): Bound on 127.0.0.1:65432 (api)
おお、動いた。 ・・・動いたけども? サーバモードで動かすと、このコンソールセッション開きっぱなしじゃないとだめっぽい?
なるほど。もう一台サーバ建てるかバックグラウンド起動とかにしないとだめかも。
というわけで、次回はバックグラウンドでdigdagを動作させるをやってみます。 すさまじく話が進まなくて自分でも衝撃的w