Выполнение заданий по расписанию или непрерывно
Вы можете периодически запускать задание Azure Databricks с типом запланированного триггера или обеспечить всегда активный запуск задания с типом непрерывного триггера.
Вы можете использовать расписание для автоматического запуска задания Azure Databricks в указанные времена и периоды. Вы можете определить расписание выполнения задания по минутам, почасовой, ежедневной, еженедельной или ежемесячной и в указанное время. Вы также можете указать часовой пояс для расписания и приостановить запланированное задание в любое время.
При выполнении задания с непрерывным триггером задания Azure Databricks гарантирует, что всегда выполняется одно активное выполнение задания. Запуск нового задания начинается после успешного завершения предыдущего выполнения или с состоянием сбоя или если экземпляр задания в данный момент не запущен.
Добавление расписания заданий
Чтобы настроить расписание для задания, выполните следующие действия:
- На боковой панели щелкните "Рабочие процессы".
- В столбце "Имя" на вкладке "Задания " щелкните имя задания.
- Нажмите кнопку "Добавить триггер" на панели сведений о задании и выберите "Запланированный" в типе триггера.
- Укажите период, время начала и часовой пояс. При необходимости установите флажок Показать синтаксис cron, чтобы отобразить и изменить расписание в синтаксисе Quartz Cron.
- Нажмите кнопку Сохранить.
Вы также можете запланировать задание записной книжки непосредственно в пользовательском интерфейсе записной книжки.
Примечание.
- Azure Databricks устанавливает минимальный интервал в 10 секунд между выполнениями, которые запускаются расписанием задания друг за другом, независимо от настройки секунд в выражении cron.
- Вы можете выбрать часовой пояс с переходом на летнее время или UTC. Если выбрать часовой пояс, который наблюдает летнее время, почасовое задание будет пропущено или может быть отложено на час или два , когда начинается или заканчивается летнее время. Для выполнения раз в час (абсолютное время) выбирайте UTC.
- Планировщик заданий не предназначен для заданий с низкой задержкой. Из-за проблем с сетью или облаком выполнение задания иногда может быть отложено до нескольких минут. В этих ситуациях запланированные задания выполняются сразу после доступности службы.
Приостановка и возобновление работы расписания заданий
Чтобы приостановить задание, нажмите кнопку "Приостановить " на панели сведений о задании.
Чтобы возобновить приостановленное расписание задания, нажмите кнопку "Возобновить".
Выполнение непрерывного задания
- На боковой панели щелкните "Рабочие процессы".
- В столбце "Имя" на вкладке "Задания " щелкните имя задания.
- Нажмите кнопку "Добавить триггер" на панели сведений о задании, нажмите кнопку "Добавить триггер" на панели сведений о задании, выберите "Непрерывный в типе триггера" и нажмите кнопку "Сохранить".
Чтобы остановить непрерывное задание, нажмите кнопку "Запустить сейчас" и нажмите кнопку "Остановить".
Примечание.
- Существует только один запущенный экземпляр непрерывного задания.
- Существует небольшая задержка между завершением выполнения и запуском нового запуска. Эта задержка должна быть менее 60 секунд.
- Нельзя использовать зависимости задач с непрерывным заданием.
- Нельзя использовать политики повторных попыток с непрерывным заданием. Вместо этого непрерывные задания используют экспоненциальный откат для управления сбоями выполнения задания.
- При нажатии кнопки "Запустить сейчас " на непрерывном задании, приостановленном запускается новое задание. Если задание неиспользуется, создается исключение.
- Чтобы непрерывное задание взяло новую конфигурацию задания, отмените существующий запуск, а затем автоматически запускается новый запуск. Вы также можете нажать кнопку " Перезапустить" , чтобы перезапустить задание с обновленной конфигурацией.
Как обрабатываются сбои для непрерывных заданий?
Задания Azure Databricks используют экспоненциальную схему обратного выхода для управления непрерывными заданиями с несколькими последовательными сбоями. Экспоненциальная обратная передача позволяет непрерывным заданиям выполняться без приостановки и вернуться в работоспособное состояние при возникновении сбоев, доступных для восстановления.
Если непрерывное задание превышает допустимое пороговое значение для последовательных сбоев, в следующем описано, как выполняются последующие запуски заданий:
- Задание перезапущено после периода повтора, заданного системой.
- Если следующий запуск задания завершается сбоем, период повтора увеличивается, а задание перезапускается после этого нового периода повтора.
- Для каждого последующего сбоя выполнения задания период повтора увеличивается до максимального периода повтора, заданного системой. После достижения максимального периода повтора задание продолжает выполняться с использованием максимального периода повтора. Количество повторных попыток непрерывного задания не ограничено.
- Если задание выполняется успешно и запускает новый запуск, или если выполнение превышает пороговое значение без сбоя, задание считается работоспособным, а последовательность отката сбрасывается.
Вы можете перезапустить непрерывное задание в экспоненциальном состоянии обратного выхода в пользовательском интерфейсе заданий или передать идентификатор задания в запрос POST /api/2.1/jobs/run-now в API заданий 2.1 или POST /api/2.0/jobs/run-now в API заданий 2.0.