luigi の exit status
は失敗しても 0 が返ってくるので、make などから呼び出した場合、そのまま通過してしまう。
調べると、次のページが見つかる。
実はコマンドラインのオプションでも設定できる。
$ 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 については悩ましいが、とりあえず、全て非ゼロに設定ファイルにしておき、必要に応じてオプションで指定するなどがいいのでは。