gpt4 book ai didi

python - Luigi - 运行时未完成 %s

转载 作者:太空狗 更新时间:2023-10-29 20:53:20 28 4
gpt4 key购买 nike

我正在尝试以一种非常简单的方式学习 luigi 的工作原理。作为一个新手,我想出了这段代码

import luigi

class class1(luigi.Task):

def requires(self):
return class2()

def output(self):
return luigi.LocalTarget('class1.txt')

def run(self):
print 'IN class A'


class class2(luigi.Task):

def requires(self):
return []

def output(self):
return luigi.LocalTarget('class2.txt')


if __name__ == '__main__':
luigi.run()

在命令提示符下运行会报错

raise RuntimeError('Unfulfilled %s at run time: %s' % (deps, ',', '.join(missing)))      

即:

RuntimeError: Unfulfilled dependency at run time: class2__99914b932b  

最佳答案

发生这种情况是因为您为 class2 定义了一个输出但从未创建它。

让我们分解一下...

运行时

python file.py class2 --local-scheduler

luigi 会问:

  • class2 的输出已经在磁盘上了吗?否
  • 检查 class2 的依赖项:NONE
  • 执行run方法(默认为空方法pass)
  • run 方法没有返回错误,因此作业成功完成。

但是,运行时

python file.py class1 --local-scheduler

路易吉将:

  • class1 的输出已经在磁盘上了吗?否
  • 检查任务依赖性:是:class2
  • 暂停检查 class2 的状态
    • class2 的输出在磁盘上吗?否
    • 运行 class2 -> running -> 没有错误完成
    • class2 的输出在磁盘上吗?否 -> 引发错误

luigi 永远不会运行任务,除非它之前的所有依赖项都得到满足。 (即它们的输出在文件系统上)

关于python - Luigi - 运行时未完成 %s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43107177/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com