事前に登録したタスクをブラウザやREST APIから実行する簡易タスクランナーです.
- ブラウザからシェルスクリプトの実行・停止・結果の確認ができます
- 任意のDAGとして表現されたタスクを実行できます
- Cronスタイルのスケジュールを登録できます
- とりあえずシェルスクリプトを置くだけでタスクとして登録されます
- Webサーバ含めて数MBのメモリで動作するので,ラズパイやNASとかで動かしても邪魔になりません
- Airflow や Dagu 等の影響を少し受けています
起動すると port 8080 で待ち受けているのでブラウザで開いてください.
ポート番号は GOTASK_HTTP_PORT
環境変数で変更できます.
- gotask
- tasks/
- test01.sh
- test02.1.sh
- test02.2.sh
- test02.3.sh
- test03.yaml
- logs/
上の例では,test01
, test02
, test03
というタスクが存在しています.
test02
は1,2,3というサブタスクが順番に実行されます.
test03
はyamlで任意の依存関係のコマンドを記述できます.
サブタスクなしの場合:
env:
STR1: "Hello"
variables:
STR2: "world"
command: echo "$STR1, $STR2!"
variableはenvと同様ですがREST APIから実行するときに値を変更できます.
サブタスク:
steps:
- name: step1
env:
STR: "world"
variables:
STR2: "..."
command: echo "Hello, $STR! $STR2"
- name: step2
command: sleep 1
depends:
- step1
- name: step3
command: sleep 1
depends:
- step1
- step2