首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Luigi问题的理解

对Luigi问题的理解
EN

Stack Overflow用户
提问于 2022-02-14 17:41:48
回答 1查看 134关注 0票数 0

看看ATask类

代码语言:javascript
复制
class ATask(luigi.Task):
    config = luigi.Parameter()

    def requires(self):
         # Some Tasks maybe

    def output(self):
        return luigi.LocalTarget("A.txt")

    def run(self):
        with open("A.txt", "w") as f:
            f.write("Complete")

现在看看BTask类

代码语言:javascript
复制
class BTask(luigi.Task):
    config = luigi.Parameter()

    def requires(self):
         return ATask(config = self.config)

    def output(self):
        return luigi.LocalTarget("B.txt")

    def run(self):
        with open("B.txt", "w") as f:
            f.write("Complete")

问题是,当TaskA运行并开始编写"A.txt“taskB时,taskA是否有可能在taskA完成写作之前启动?

第二,如果我开始执行

代码语言:javascript
复制
luigi.build([BTask(config=some_config)], local_scheduler=True )

如果这个pipilene在里面失败了,我能不知怎么地知道它的外部,比如luigi.build或smth的返回值吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-14 21:45:49

  1. 不,在TaskB完成之前,luigi不会开始执行TaskA (也就是说,直到它完成目标文件的编写)
  2. 如果您希望在发生错误时获得luigi.build的详细响应,则必须传递一个额外的关键字参数:detailed_summary=True以构建/运行方法,然后访问summary_text,方法如下:
代码语言:javascript
复制
     luigi_run_result = luigi.build(..., detailed_summary=True)
     print(luigi_run_result.summary_text)

有关这方面的详细信息,请参阅Luigi文档中的luigi.build()/luigi.run()的响应

此外,您可能对有关如何访问错误/异常的这个答案感兴趣:https://stackoverflow.com/a/33396642/3219121

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71116054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档