Луиджи: примеры Rangehourly
Есть ли примеры, доступные для предоставления RangeHourly (или аналогичные, например RangeDaily) . Я пытался использовать его, чтобы повторять выполнение задач. Но я всегда получаю ошибку, как показано ниже:
ОТЛАДКА: проверка, если RangeHourly(of=FinalTask, of_params={}, реверс =False, task_limit=50, сейчас = нет, param_name=None, запуск =2017-06-28T15, stop= нет, hours_back=0, hours_forward=0) завершен. ОТЛАДКА: пустой диапазон. Случаи FinalTask не ожидаются
Ниже приведено определение задачи:
class FinalTask (luigi.Task):
start = luigi.DateHourParameter()
def requires(self):
return CleanupTask()
def run(self):
cmd='echo "Workflow Completed"'
args=shlex.split(cmd)
exc=subprocess.Popen(args,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
stdout,stderr=exc.communicate()
self.output().open('w').close()
def output(self):
return luigi.LocalTarget('/var/flags/FinalTask_success_%s.csv' %start)
Я что-то упускаю, что вызывает эту проблему?
1 ответ
Решение
python tasks.py RangeHourlyBase --of FinalTask --start 2017-07-31T00 --stop 2017-07-31T23 --local-scheduler --workers 4
Заметить, что:
- Вы должны заменить
tasks.py
с именем файла гдеFinalTask
определено. --local-scheduler
только для запуска ваших задач локально. Не используйте это при производстве.В последней строке есть ошибка:
start
не определено, должно быть:return luigi.LocalTarget('/var/flags/FinalTask_success_%s.csv' % self.start)