【问题标题】:What is the purpose of significant parameter in Luigi?Luigi中重要参数的目的是什么?
【发布时间】:2018-07-02 12:45:42
【问题描述】:

文档说:

如果使用significant=False 创建参数,则就任务签名而言,它会被忽略。仅用无关紧要的参数创建的任务具有相同的签名但不是相同的实例。

但这对 Luigi 中的任务流程有什么帮助,因为如果我想使用不同的参数运行一个任务的两个实例,我为参数设置了significant=True,这样 Luigi 将它们视为单独的任务,并且这样一个任务的完成不会将另一个任务标记为DONE

但我没有通过将参数标记为 significant=True 来获得这些结果。那么,significant 参数有什么作用,应该什么时候使用呢?

【问题讨论】:

    标签: luigi


    【解决方案1】:

    但是我没有通过将参数标记为来获得这些结果 重要=真。

    不知道你的情况是什么问题,但是,

    luigi parameter module

    significant (bool) – 如果参数不应该是,则指定 False 视为任务的唯一标识符的一部分。 微不足道 参数也可能用于指定密码或其他敏感信息 不应通过调度程序公开的信息。 默认值: 没错。

    所以这是一种安全做法。

    【讨论】:

      【解决方案2】:

      Luigi 使用其参数识别任务以保持唯一性。可以说,

      class SampleTask(luigi.Task):
          id = luigi.Parameter(default=uuid.uuid4.__str__())
          file_id = luigi.Parameter(default=uuid.uuid4.__str__(),significant=False)
      

      Luigi 在调度时会将任务命名为 SampleTask_xaxx24_a42sa5rq_a4glkqjw45_asdr,即(SampleTask_uuid)。基本上就是我们定义的id参数。默认情况下,显着性为 True。所以考虑所有参数 重要的将告诉 Luigi 调度程序在创建任务时是否考虑第二个参数。这有助于调度程序在动态依赖创建过程中名称冲突时了解哪个任务名称识别是唯一的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-02
        • 2018-10-15
        • 2023-04-01
        • 1970-01-01
        • 2019-12-23
        • 2020-12-08
        • 1970-01-01
        • 2021-10-28
        相关资源
        最近更新 更多