python - 在运行时生成 luigi 配置值(不将它们添加到任务的参数中)
问题描述
所以,我知道我们可以通过扩展来创建配置类
luigi.Config
,但是有没有办法在运行时生成配置值?
例如,我将如何做这样的事情:
def main():
new_default_value = fetch_new_default_value()
config = MyConfigClass()
config.value = new_default_value
luigi.build(MyTask())
并且 config.value 在执行期间保持为 new_default_value 吗?另外,是否可以在任务的需求定义中更改它,即在执行期间更改设置值?
解决方案
怎么config.value
交互MyTask
?你没有理由不能在你的 Luigi 任务中引用它。
class MyTask(luigi.Task):
def requires(self):
new_default_value = fetch_new_default_value()
return SomeOtherTask(param=new_default_value)
def run(self):
config = MyConfigClass()
# do something that references config attributes
更新:另一种方法是config
作为参数传入。
class MyTask(luigi.Task):
config = luigi.DictParameter()
def requires(self):
return SomeOtherTask(param=self.config.value)
def run(self):
do_something(self.config.value)
config = MyConfigClass()
config.value = fetch_new_default_value()
job = MyTask(config=vars(config)) # assuming that vars() produces a dict
luigi.build([job])
推荐阅读
- azure - Azure 函数正在本地执行,即使 RunOnStartup = false
- html - 小型设备上的 Bootstrap 4 菜单
- qt - 无法在 Qt Quick 项目中使用设计模式
- android - 如何在动画正在进行时停止事件?
- java - 如何在多个服务中使用调度程序?
- python - Tensorflow:如何在模型中添加正则化
- angular - Angular Material - Chips Autocomplete - 如何显示所需的错误消息和错误突出显示颜色
- php - 我无法上传 .JPG 文件,但可以在 PHP 中上传 .jpg 文件
- python - 如何从 2D numpy (lat,lon) 数组中删除扇区/切片?
- sql - 为什么 ORACLE TO_DATE 函数在传递空格时不会在 OR 条件下给出 ORA-01841 错误?