環境構築
- 設定ファイル
postgresql.properties
database.type = postgresql
database.user = postgres
database.password = passwd
database.host = 127.0.0.1
database.port = 5432
database.database = digdagdb
- DB作成
CREATE DATABASE digdagdb;
- テーブル作成
digdag server --config postgresql.properties
- この時テーブルが無ければ作成されます.
Server起動
digdag server --config postgresql.properties
自動起動
今の所なさそう、自分なら以下の何れかで自動起動するようにする.
- Systemd
- rc-script(/etc/init.d)
- Upstart
- Supervisor
HA構成
PostgreSQLを使っている場合は、
単純にDigdag Serverを複数用意しておけば良い.
あとは構成次第で以下のオプションを設定する感じ.
-
--disable-local-agent
- RESTインターフェースを無効にします.
- クライアントモードの操作を受け付けなくなります.
-
--disable-executor-loop
- ワークフローのタスクの実行を無効にします.
-
--max-task-threads N
- タスクの実行の最大スレッド数
死活監視
クライアントモードを利用
digdag workflows
の終了ステータスで良さそう.
0
以外は死んでる感じ.
$ digdag workflows >/dev/null 2>&1; echo $?
0
$ digdag workflows >/dev/null 2>&1; echo $?
1
Client系のdigdag workflows
はDigdagのストレージにまでアクセスしているので死活監視に利用できると思います.
サーバーのローカルエージェントを利用
デフォルトでは127.0.0.1
でサーバが起動しますが、
--bind
オプションを指定すれば外部からでもアクセスできます.
これを利用して.
$ curl -sf http://localhost:65432/api/projects > /dev/null 2>&1; echo $?
0
$ curl -sf http://localhost:65432/api/projects > /dev/null 2>&1; echo $?
22