Как заставить задачу Луиджи закрыться?

1

У нас есть задача Луиджи, которая начинается в 2 часа ночи и может работать в течение произвольного количества часов. Мы хотим убедиться, что если это не будет сделано, скажем, 6 утра, он отключится. Есть какой-либо способ сделать это? Задача выполняется на Mesos, поэтому я знаю, что я могу запустить отдельную задачу или скрипт для использования HTTP-API-исполнителей Mesos и убить его, но есть ли способ закодировать сама задача для выключения в данный момент времени?

Заранее спасибо.

Теги:
python-2.7
luigi

1 ответ

0

Используйте индивидуальный тайм-аут для своей задачи. Согласно документам вы можете установить его на уровне luigi за одну задачу:

[Рабочий]

Тайм-аут:

Количество секунд, после которых для выполнения слишком долгого выполнения задачи. Это обеспечивает значение по умолчанию для всех задач, которое можно переопределить, установив свойство worker-timeout в любой задаче. Это работает только при использовании нескольких сотрудников, так как тайм-аут реализуется путем убийства подпроцессов рабочих. Значение по умолчанию равно 0, что означает отсутствие таймаута.

Итак, ваша задача должна выглядеть так:

class MyTask(luigi.Task):
    worker_timeout = 60 * 60 * 4 # 4 hours in seconds

    # (rest of your task)
    # def run():
    #    do_something()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню