LoginSignup
5
2

More than 3 years have passed since last update.

Digdag公式ドキュメントからDigdagを学ぶ-Getting started

Last updated at Posted at 2020-07-09

Digdagについて

DigdagはOpenソースのマルチクラウドワークフローエンジンの事です。
簡単に言うとなんなかの仕事を順序に処理する流れを手伝ってくれるツールかと思いました。

目標

Digdagについての本などがないためDigdagの公式サイトのドキュメントを翻訳しながらQiitaに整理したいと思います。
http://docs.digdag.io/getting_started.html
ドキュメントは英語になっています。
勉強するのが目的なので誤訳などあると思います。
今日はGetting Started部分からやります。
DigdagのRubyを使ってRailsにバッチを作るまでが最後の目標になります。

#目次

以下のような内容になります。
Getting started
Architecture
Concepts
Workflow definition
Scheduling workflow
Operators
Command reference
Language API -Ruby
Digdagで環境毎に設定値を変える(RubyOnRails)
Digdagを用いてRubyOnRails環境でバッチ実装

Getting started

1. 最新バージョンのDigdagダウンロードと設置

Digdagは実行ファイルです。curlコマンドを使って~/binにファイルを設置できます。

$ curl -o ~/bin/digdag --create-dirs -L "https://dl.digdag.io/digdag-latest"
$ chmod +x ~/bin/digdag
$ echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

digdag --helpが実行できれば環境設定完了です。

zshを使う方は~/.bashrc~/.zshrcに変更してください。

Windows

PowerShell -Command "& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::TLS12; mkdir -Force $env:USERPROFILE\bin; Invoke-WebRequest http://dl.digdag.io/digdag-latest.jar -OutFile $env:USERPROFILE\bin\digdag.bat}"
setx PATH "%PATH%;%USERPROFILE%\bin"

2. サンプルを実行してみる

digdag init <dir>コマンドはサンプルWorkflowを生成する。

$ digdag init mydag
$ cd mydag
$ digdag run 

digdag init mydagコマンドで以下のようなサンプルコード(mydag.dig)が生成される

mayday.dig
timezone: UTC

+setup:
  echo>: start ${session_time}

+disp_current_date:
  echo>: ${moment(session_time).utc().format('YYYY-MM-DD HH:mm:ss Z')}

+repeat:
  for_each>:
    order: [first, second, third]
    animal: [dog, cat]
  _do:
    echo>: ${order} ${animal}
  _parallel: true

+teardown:
  echo>: finish ${session_time}

digdag runWorkflowが実行された
実行結果
スクリーンショット 2020-07-09 13.19.57.png

次回はArchitecture

5
2
3

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
5
2