3
1

More than 3 years have passed since last update.

Digdag の Ruby scripts でメソッドに引数を渡す方法

Posted at

はじめに

Digdag の Ruby scripts では rb>: Task::MyWorkflow.my_task というような感じで Ruby のメソッドを実行することができますが、
この my_task メソッドに対して引数を渡したい場合の解決方法を記載します。

結論

引数が必要なメソッドを実装し、Digdag のパラメータで同名のパラメータを渡してやると Digdag がよしなにやってくれます。

def my_task(hoge:)
  puts hoge
end
+task1
  _export:
    hoge: 'Hello, world!'
  rb>: Task::MyWorkflow.my_task
  require: tasks/my_workflow

詳細

Digdag のこのあたりの実装を読むとパラメータから引数を取得していることがわかります。

また、以下のように rb>: の記述で引数を指定することでは解決できません。

rb>: "Task::MyWorkflow.my_task(hoge: ${hoge})"
3
1
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
1