2015-07-21 31 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)