2015-07-21 65 views
3

我有我通过在python路易吉使用参数

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. 
+0

@ Samuel-Lampa回答你的问题了吗? –

+0

如果有人遇到从python运行时运行luigi它是'luigi.build([Test('db','svr')],local_scheduler = True)'参见[https://stackoverflow.com/questions/41876861 /how-to-use-parameters-in-python-luigi](https://stackoverflow.com/questions/41876861/how-to-use-parameters-in-python-luigi) – citynorman

回答

5

据我所知,你不能通过main_task_cls说法,只有类本身发送的参数。参数可以改为通过cmdline_args参数发送,例如:

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

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

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