Step 2 of 2

Кастомные настройки для тасков

Luigi также поддерживает возможность задания кастомных настроек для ваших задач. Есть несколько вариантов.

Во-первых, если у вас есть задача и вы хотите менять настройки через конфигурационный файл luigi.cfg, а не в коде, то задать настройки для конкретного таска можно следующим образом:

class CustomParamTask(luigi.Task):
    message = luigi.Parameter()

    def run(self):
        print('The message is {}'.format(self.message))

и в luigi.cfg:

[CustomParamTask]
message="Hello World"

Во-вторых, можно задать кастомную секцию с конфигурациями и использовать её между множеством разных задач. Для этого необходимо унаследоваться от класса luigi.Config:

class mysection(luigi.Config):
    host = luigi.Parameter()
    port = luigi.IntParameter()


class ShowMySection(luigi.Task):
    def run(self):
        section = mysection()
        print('Host is: {}\\nPort is: {}'.format(section.host, section.port)) 

а в файле luigi.cfg это выглядит вот так:

[mysection]
host=localhost
port=1337

Comments