在python luigi中使用参数

时间:2015-07-21 08:29:30

标签: python luigi

我通过

触发了Luigi
luigi.run(["--local-scheduler"], main_task_cls=Test(Server = ActiveServer, Database = DB))   

在我的班上我有:

class Test(luigi.Task):

    Database = luigi.Parameter()
    Server = luigi.Parameter()

但是任务测试似乎无法解析我正确喂养它的参数?

我得到了:

MissingParameterException: No value for 'Server' (--Server) submitted and no default value has been assigned.

1 个答案:

答案 0 :(得分:6)

据我所知,你不能通过main_task_cls参数发送参数,只能通过类本身发送参数。参数可以通过cmdline_args参数发送,如下所示:

luigi.run(
    cmdline_args=["--local-scheduler",
                  "--server=ActiveServer",
                  "--database=DB"], 
    main_task_cls=Test)

另请注意local_scheduler luigi.run()关键字参数可以使用而不是通过--local-scheduler参数发送cmdline_args,因此您得到:

luigi.run(
    cmdline_args=["--Server=ActiveServer",
                  "--Database=DB"], 
    main_task_cls=Test
    local_scheduler=True)