中野智文のブログ

データ・マエショリストのメモ

luigi の exit status

luigi の exit status

は失敗しても 0 が返ってくるので、make などから呼び出した場合、そのまま通過してしまう。

調べると、次のページが見つかる。

qiita.com

実はコマンドラインのオプションでも設定できる。

$ luigi --help-all
...
  --retcode-unhandled-exception RETCODE_UNHANDLED_EXCEPTION
                        For internal luigi errors.
  --retcode-missing-data RETCODE_MISSING_DATA
                        For when there are incomplete ExternalTask
                        dependencies.
  --retcode-task-failed RETCODE_TASK_FAILED
                        For when a task's run() method fails.
  --retcode-already-running RETCODE_ALREADY_RUNNING
                        For both local --lock and luigid "lock"
  --retcode-scheduling-error RETCODE_SCHEDULING_ERROR
                        For when a task's complete() or requires() fails, or
                        task-limit reached
  --retcode-not-run RETCODE_NOT_RUN
                        For when a task is not granted run permission by the
                        scheduler.
...

オプションで指定できることは、設定ファイルでも設定できるといったほうがいいのか、設定ファイルで設定できることはオプションで指定できるといったほうがいいのか。 いずれにしろ便利。

already_running については悩ましいが、とりあえず、全て非ゼロに設定ファイルにしておき、必要に応じてオプションで指定するなどがいいのでは。