没有任务运行时的Luigi事件处理程序,因为没有丢失依赖项

时间:2018-02-13 15:07:29

标签: luigi

我熟悉Luigi事件处理机制,我已经实现了一个管道,当管道成功完成时,会发送成功的电子邮件。 我想知道如何在任务已经运行时触发事件,因此不再重新运行任务。一个典型的例子 - 当一个新的日期文件出现在每日时间表上时,我的工作就会被触发。周日,没有新文件出现,luigi产生了这个输出:

 ===== Luigi Execution Summary =====

 Scheduled 1 tasks of which:
* 1 present dependencies were encountered:
- 1 XXXXRunner(...)

 Did not run any tasks
 This progress looks :) because there were no failed tasks or missing 
external dependencies

为了成功运行,我通常会触发如下电子邮件:

 @SomeTaskRunner.event_handler(luigi.Event.SUCCESS)
 def send_success_email():
 ....

但是,如果由于所有依赖项都已满足而没有运行任务,我该如何触发事件处理程序?

1 个答案:

答案 0 :(得分:0)

我已经弄清楚了。

我需要使用此事件处理程序:

 @SomeTaskRunner.event_handler(luigi.Event.DEPENDENCY_PRESENT)