我正在学习 luigi,发现大部分输出是文件系统上的文件。
如果该文件存在,则 luigi 认为任务已完成。
在我的例子中,我不想写文件,而是想在 postgres 中更新状态为 DONE 的数据库 erecord。
我想知道在 luigi 中是否可行
请您参考如下方法:
看看Luigi contribs .至少有 3 个包你可能会感兴趣:mssqldb、mysqldb、rdbms、sqla 和 红移。如果您打开其中任何一个,请查找 luigi.Target 子类。
例如,在 luigi.contribs.mysqldb 中,您有 MySqlTarget。它为您提供了与您上面提到的功能类似的功能:任务检查“标记表”是否存在(如果不存在,则此任务将创建它),然后进行选择以检查任务是否已成功执行。如果没有,它会为任务插入一个“标记”,表明它已完成。
如果您已经有一个“标记表”,您可以将此任务类子类化或通过复制其代码并自定义您需要或不需要的部分来创建类似的任务类。
