Using parameters in python luigi

I run Luigi through

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

      

and in my class i have:

class Test(luigi.Task):

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

      

but the task test cannot parse the parameters that I feed correctly?

I get:

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

      

+3


source to share


1 answer


As far as I know, you cannot send parameters via an argument main_task_cls

, only the class itself. Parameters can be sent via an argument cmdline_args

, for example:

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

      



Note also that there is a local_scheduler

keyword argument local_scheduler

that you can use instead of sending --local-scheduler

via an argument cmdline_args

, so you get:

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

      

+5


source







All Articles