Планировщик это: ПЛАНИРОВЩИК | это… Что такое ПЛАНИРОВЩИК?

Планировщик

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

Архитектура

Планировщик представляет собой совокупность объекта встроенного языка и поля формы, которое отображает данные этого объекта. Благодаря этому становится возможным визуализация данных в удобном для планирования виде и их интерактивное изменение.

Планировщик не является объектом конфигурации, поэтому никакой собственной структуры для хранения данных он не имеет. Однако с помощью встроенного языка можно загрузить в него данные практически любого объекта конфигурации, лишь бы этот объект обладал двумя реквизитами типа 

Дата. Один из них будет указывать на начало элемента на оси времени, а другой — на конец этого элемента.

Интерактивное изменение элементов

При интерактивном изменении в форме элементов планировщика генерируется событие, в котором с помощью встроенного языка можно изменить данные того объекта информационной базы, из которого они загружались, и сохранить их в базе данных.

Измерения

Кроме элементов планировщик обладает ещё и измерениями. Каждое измерение позволяет группировать элементы планировщика по отношению к каждому значению этого измерения. Например, в качестве измерения может выступать учебная группа. Тогда элементы планировщика (события) можно анализировать по их отношению к каждой из имеющихся учебных групп: 961 группа, 962 группа и 963 группа.

Планировщик позволяет создавать вложенные элементы измерений. Например, если измерением планировщика является мастер, работающий в парикмахерской, то все мастера могут быть разделены на две группы: женские и мужские. Каждая из этих групп может быть свернута или развернута, что упрощает работу с планировщиком при большом количестве элементов измерений.


Представление данных

Планировщик имеет несколько свойств, с помощью которых можно создавать такие представления данных, как «День», «Неделя» или «Месяц».

Кроме этого планировщик позволяет отображать сразу несколько интервалов, и совсем не обязательно, что эти интервалы должны следовать друг за другом непрерывно. Например, задав три отображаемых интервала (7 февраля, 14 февраля и 21 февраля) можно одновременно показать три пятницы, чтобы сравнить состав дел в эти дни и, возможно, перенести невыполненные дела на следующую пятницу:

Планировщик может содержать не одну, а несколько шкал времени, каждая со своей периодичностью. Это удобно в тех случаях, когда отображаемые данные нужно идентифицировать, например, с точностью до дня и часа:

Саму шкалу времени можно показать полностью, либо скрыть её начало и/или конец. Это удобно, например, для отображения только рабочих часов:

По желанию в планировщике можно включить или выключить отображение текущего времени:

Интервалы фона позволяют, например, выделить другим цветом нерабочие часы или выходные дни:

В интервалах фона можно выводить собственный текст. Это позволяет, например, отображать загруженность ресурсов на каком-либо временном интервале при свернутых группах измерений.

Редактирование данных

Интерактивное добавление данных в планировщик осуществляется простым щелчком мыши. При этом открывается окно быстрого редактирования элемента планировщика:

В этом окне можно задать текст элемента (события). Если нужно изменить другие свойства элемента, по кнопке Редактировать в этом окне открывается стандартная форма для редактирования всех свойств элемента планировщика.

Редактирование существующих элементов можно выполнять как через эти формы, так и перетаскиванием элементов и изменением их границ с помощью мыши:

Для любого элемента можно задать расписание — периодичность, с которой будет повторяться это событие:

Планировщик задач

  Планировщик предназначен для выполнения определенных задач по расписанию или событию. Типовые задачи: формирование пакетных отчетов, рассылка электронных писем (отчетов), прием документов из электронных писем, резервное копирование баз данных и т.п.

  Cкачать дистрибутив службы планировщика, актуальной для соответствующей версии базы данных, можно по ссылке : https://keysystems.ru/files/web/INSTALL/SMART2/install/TaskSchedulerService/ .

 

  Планировщик может быть запущен/настроен локально либо удаленно — для выбора настраиваемого планировщика используется кнопка «Выбрать расположение планировщика» :

 

 

в текущем процессе (по умолчанию) — т.
е. в составе программы и для работы планировщика должен быть запущен «Бюджет-СМАРТ».  Создавать задачи в локальном планировщике (в текущем процессе «Бюджет-СМАРТ») могут любые пользователи. Соответственно, все задачи выполняются на базе от имени логина, вошедшего в комплекс (создавшего задачи).
 

как служба windows — указывается сетевой путь к компьютеру, где установлен планировщик как отдельная служба. В этом случае для выполнения задач программа «Бюджет-СМАРТ» не требуется. Сама служба устанавливается из дистрибутива (файл вида \BudgetSmart\install\TaskSchedulerServiceSvc.SetupBudget_….msi ) на соответствующем компьютере. Для работы со службой с другого компьютера, на компьютере где установлен планировщик должен быть открыт порт 42001 .
 
Создавать задачи в планировщике, размещенном как отдельная служба, могут только пользователи с правами администратора.
  Для автоматизированного запуска и останова задачи (например, в bat файле и окне выполнения консольных команд) можно использовать команды:

net start <имя_службы>

net stop <имя_службы>  

 

Учетная запись Windows

 По умолчанию служба планировщика, будучи службой Windows, запускается от имени системной учетной записи Windows (Local system), которая не является доменной учетной записью и может не иметь необходимых прав доступа для нормальной работы. Рекомендуем запускать службу от имени какой-либо доменной учетной записи (например, для получения доступа к сетевым папкам домена).

 

Учетная запись «Бюджет-СМАРТ»
  На какой базе выполняется задача планировщика и от имени какого пользователя задача подключается к SQL серверу (базе данных) можно глянуть по кнопке «Сменить источник данных» (кнопка присутствует только для задач планировщика как служба).

По умолчанию — это пользователь, создавший задачу.

 

 
 

удаленно, подключение через сервис приложений — указывается http адрес сервиса приложений «Бюджет-СМАРТ». Это способ управления планировщиком, запущенном в другой сети, и доступ к нему возможен только через веб-сервис приложения. Логин и пароль в этом случае нужно указывать тот, который задан в файле TaskSchedulerService.config, расположенном в каталоге удаленной службы, см параметры: AuthorizationAccountLogin и AuthorizationAccountPassword .

 

  Текущее расположение просматриваемых задач можно определить по заголовку окна списка задач: если перед текстом «Планировщик задач» ничего нет, то просматривается список локальных задач , иначе просматривается список задач на удаленном компьютере (как служба) и в заголовке отображается адрес этого удаленного компьютера.

 

  Кнопка «Запуск вручную» всегда запускает задачу в текущем процессе экземпляра «Бюджет-СМАРТ», как служба задача работает только по расписанию.

 

  Лог работы планировщика расположен по пути C:\Program Files (x86)\Keysystems\TaskSchedulerService\Logs\ . На каждый день создается отдельный файл лога.

 

 

Использование прокси-сервера

  Для некоторых задач требуется выход в интернет (например при обновлении Справочника БИК): планировщиком используется прокси указанный для комплекса в окне входа.

 

  Если подключение к интернету осуществляется через прокси, то параметры прокси-сервера следует указывать:

для задач, запущенных в текущем процессе «Бюджет-СМАРТ» — на вкладке «Соединение» окна входа в комплекс.

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

<add Key=»UseProxy» Value=»true» />

<add Key=»UseDefaultProxy» Value=»false» />

<add Key=»ProxyServer» Value=»https://proxy:port» />

<add Key=»ProxyLogin» Value=»» />

<add Key=»ProxyPassword» Value=»» />

 

Уведомление о результате выполнения задачи

  Для некоторых типов задач результат их выполнения (успех или ошибка) рассылается пользователям, указанным в настройке «Меню Настройки: НАСТРОЙКИ \ Сервер сообщений \ Адресаты сообщений — настройка — Адресаты системных сообщений».

  Это такие задачи как:

Загрузка справочника банков.

Загрузка курса валют с сайта ЦБ.

Задача сервера.

 

 

Задачи

 

Загрузка справочника банков

 

 Требования для успешного обновления справочника банков: версия службы планировщика не ниже 2.20.2.2981 (инсталлятор см в дистрибутиве клиентской части «Бюджет-СМАРТ»).

 

  Предназначена для автоматического обновления Справочника БИК по расписанию с сайта Банка России. Для этого:

Создать задачу «Загрузка справочника банков».

Далее на вкладке «Параметры» указать папку, куда будут складываться скачиваемые обновления действующих банков.

Далее на вкладке «Триггеры» задать расписание автоматического обновления (выполнения задачи).

 

  В задаче по обновлению справочника банков указывается «Базовый адрес обновлений справочника» — по умолчанию https://www.cbr.ru/VFS/mcirabis/BIKNew/ (с 02 июля 2018г). Скачиваются и обрабатываются xml файлы с тэгом ed807.

 

Примечание. Если задача выполняется в текущем процессе «Бюджет-СМАРТ» и подключение к интернету осуществляется через прокси, то параметры прокси-сервера следует указывать на вкладке «Соединение» окна входа в комплекс.

 

  При удачном завершении очередной загрузки на вкладке «Журнал событий» задачи будет результат в виде
  «Выполнено успешно: Загрузка справочника из файла: C:\…\….zip. Загружено банков: …». Любые другие сообщения говорят о каких-то проблемах — подробностьи см в протоколе приема справочника БИК в режиме «Навигатор: СЕРВИСНЫЕ РЕЖИМЫ \ Журнал событий».

 

 

  Для просмотра протокола загрузки следует открыть детализацию на вкладке «Журнала событий» в задаче планировщика.

 

 

 

 

Задача приема файлов по email (выписки, ФНС, платежки и т.п.).

Решается последовательно двумя типами задач:

1) Проверка внешнего почтового ящика.

   С заданной периодичностью проверяет внешний почтовый ящик и загружает файлы из входящих сообщений в заданную папку. Обработанные почтовые сообщения удаляются из входящих.

 

2) Импорт документов (ЭОД).

   Осуществляет прием файлов из определенной папки (которую пополняет первая задача по проверке почтового ящика). Обработанные файлы не удаляются и не перемещаются. Работает задача не по расписанию, а по факту появления файла приема в заданной папке.

 

  Для некоторых ведомостей важен порядок приема набора файлов, либо требуется обеспечить их «одновременный» прием в одной сессии (тогда комплекс сам определит нужный порядок приема). Поэтому рекомендуем ведомости/выписки принимать по файлу с описанием (см далее).

 

Рекомендуемые настройки для приема отдельных документов (платежки, заявки и т.п.)

Параметры задачи:

Приоритетный вид импортируемых документов = Черновик,

Принимать по файлу с описанием = ОТКЛ.

 

Триггера задачи:

Выберите директорию для просмотра — указать папку, в которйо будут расположены файлы приема.

Отслеживать изменения = Создание файла.

Использовать маску файла = *. pp?  (указать маску обрабатываемых файлов). Показан пример для платежных поручений. Примеры масок для: расходных расписаний *.ap? , ФНС tax*.rar (либо tax*.txt) , заявок на кассовый расход *.zr? . Можно указать несколько масок через запятую: *.ap?,*.zr? .

 

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

Параметры задачи:

Приоритетный вид импортируемых документов = Беловик,

Принимать по файлу с описанием = ВКЛ (обеспечивает автоматически правильный порядок обработки файлов — комплекс сам из совокупности указанных файлов решает в какой последовательности их загрузить).

Маска файла = ссо_по_27.xlm — произвольное имя файла описания в формате xml. Пример содержимого файла для приема Справки о свободном остатке (ССО):

 
<?xml version=»1.0″ encoding=»utf-8″?>

<Root>

  <upload>

    <code>98ac9f51-ea1a-df11-a3dc-16c03228c478</code>

    <file>00001700.se7</file>

    <file>00001704.se7</file>

    <file>00242K00.rk7</file>

    <file>00242K04.rk7</file>

  </upload>

</Root>

 

где 98ac9f51-ea1a-df11-a3dc-16c03228c478 — уникальный идентификатор сеанса приема, для каждого файла описания свой  (например поле GUID из одного из файлов RK). Далее в тегах <file> перечислены имена файлов приема в нужном порядке.

 

Расписание (триггеры) задачи:

Выберите директорию для просмотра — указать папку, в которой будут расположены файлы приема и файл описание (xml). При этом файл описание нужно располагать в этой папке последним, когда все нужные файлы приема уже вналичии.

Отслеживать изменения = Создание файла. планировщик будет ожидать появления файла описания (xml).

Использовать маску файла = пусто.

 

Примечание. Если не применять файл описания, то:

oв поле «Использовать маску файла» следует задавать только имена файлов выписок, без приложений (например правильно *.vb? , и неправильно *.vb?,*.bd?,*.bh? ). Важно: файл выписки (vb, vq и т.п.) должен быть размещен в папке приема последним, после размещения файлов приложений (bd, bh, sp).

oдля приема ССО следует создать отдельные задачи: в первой задаче прием справки об операциях (se), во второй — справки об остатках (rk), при чём первая задача должна стартовать раньше второй на несколько (1-5) минут.

 

Выгрузка отчетов.

 

Формирование по расписанию. В этом случае выписки формируются с задержкой на 1-5 дней — время, необходимое для полной обработки дня специалистами финоргана.

Тип задачи «Пакетная выгрузка отчетов».

В параметрах задачи следует:

в табличной части выбрать нужные пакетные отчеты: предлагаются пакетные отчеты (из папки навигатора «ОТЧЕТЫ \ ПАКЕТЫ ОТЧЕТОВ»), которые пользователь, создающий задачу, хотя бы раз применял.

указать местоположение полученных отчетов: сервис первичных документов (т.е. сохраненные отчеты), либо в папку на диске компьютера, а так же задать отправку по email (используется справочник «Корреспонденты. Участники рассылок»).

Смещение дней — смещение даты конца периода отчетов в прошлое относительно расчетной даты, с целью формирования актуальных выписок (только по закрытым дням), с учетом справочника «Нерабочие дни».

 

Ручной запуск (пользователь решает, когда обработка данных завершена и можно формировать выписки за этот день).

А) С использованием планировщика, тип задачи «Пакетная выгрузка отчетов»

Создается задача аналогично варианта по расписанию (какие отчеты и куда выгружать), только разрешить ручной запуск и не задавать расписания. Уполномоченное лицо, когда настал момент предоставлять выписки, заходит в планировщик и выполняет (запускает) задачу, указав нужный период отчета.

 

 

Примечание. Для того же пользователя, от имени которого будет выполняться задача формирования отчетов, рекомендуем создавать задачу «Синхронизация расчетной даты» — чтоб расчетная дата комплекса, относительно которой обычно формируется отчетность, для этого пользователя совпадала с системной датой SQL сервера. Предварительное (до выгрузки отчетов) выполнение этой задачи позволит гарантировать формирование отчетов за нужный период. См. так же параметр «Смещение дней» задачи «Пакетная выгрузка отчетов».

 

Рассылка файлов по почте.

Тип задачи «Отправка файла по почте».

В параметрах задачи в поле «Сообщение» можно применить переменные:

%ATTACH — названия прикрепленных файлов,

%DATE — дата создания письма,

%TIMELONG — время создания письма.
 

Задача отслеживает изменения файловой системы (появление новых файлов, см вкладку «Триггеры») и при появлении в заданной папке новых файлов рассылает письма с этими файлами. Файлы должны содержаить в своём имени идентификтор получателя (счет, ИНН и т.п.) заданный в справочнике «Корреспонденты. Участники рассылок». Если источником корреспондентов задан файл Recipients.txt (список получателей, все адреса пишутся с новой строки), то все файлы будут отправляться по каждому из адресов только из этого файла.

 

Задача отправки файла по почте не поддерживает ручной запуск (предполагает мгновенное выполнение, а файл отправки неизвестен), поэтому в этом случае пишет про отсутствии файла для отправки.

 

 

 

 

Системная задача «Синхронизация расчетной даты».

 

  Предназначена для актуализации расчетной даты комплекса. Для успешного выполнения задачи требуется включение настройки на пользователя «Меню Настройки: НАСТРОЙКИ \ Даты \ Изменять расчетную дату каждый день».

  Принцип действия:

если компьютер пользователя не выключается на ночь, то в полночь 00:00:00 задача меняет расчетную дату комплекса в соответствии с календарной датой на компьютере пользователя, и прописывает новую дату в настройке на пользователя «Меню Настройки: НАСТРОЙКИ \ Даты \ Расчетная дата».

при запуске «Бюджет-СМАРТ» эта же задача проверяет расчетную дату комплекса на соответствие календарной дате на компьютере пользователя, при расхождении меняет расчетную дату и прописывает новое значение в настройке на пользователя «Меню Настройки: НАСТРОЙКИ \ Даты \ Расчетная дата».

Если SQL сервер по каким-либо причинам недоступен для сохранения значения расчетной даты, то возникнут коллизии: для пользователя  расчетная дата будет отображаться одна, а применяться другая (из настройки).

 

 

Формирование справочника БК

  Предназначена для обновления справочника «БК (расходы)» по данным документов.

 

Загрузка открытых данных

  Задача по загрузке открытых данных из ЭБ. Используется API сервис ЭБ: от «Бюджет-СМАРТ» формируется и отправляется в ЭБ запрос на предоставление данных — ЭБ  формирует набор данных согласно указанного в запросе фильтра и возвращает данные в «Бюджет-СМАРТ» .

 

  В разделе «Параметры» планировщика можно выбрать следующие документы для загрузки:

 

Сводный реестр (163н) — задача предназначена для обновления справочника «Сводный реестр 163н». В задаче нужно указать фильтр, согласно которого будут запрошены данные в ЭБ:

Код субъекта — указывается кодовое обозначение субъекта Российской Федерации, по учреждениям которого запрашивается сводный реестр, установленное в соответствии с федеративным устройством Российской Федерации, определенным статьей 65 Конституции Российской Федерации, в целях ведения ЕГРЮЛ, в соответствии со сведениями ЕГРЮЛ.

Код уполномоченной организации — указывается код по сводному реестру (код УБП) организации, уполномоченной предоставлять документы по сводному реестру в ОрФК, т.е. код УБП финоргана бюджета, по учреждениям которого запрашивается сводный реестр.

 

Параметры фильтра учитываются по условию И (AND), необязательно указывать все параметры.

 

Корреспонденты (все) — обновляет/добавляет данные по ИНН из Сводного реестра 163н.

 

ОКТМО — Общероссийский классификатор территорий муниципальных образований(7710568760-OKTMO).

 

Задача сервера

Произвольная процедура/команда SQL сервера. Доступен справочник типовых процедур:

Окончательное удаление безопасно удаленных документов — окончательно удаляет из базы данных «безопасно удаленные документы» (чистка корзины), дата помещения в корзину которых ранее указанного смещения дней относительно текущей даты. Смещение задается в настройке режима «СЕРВИСНЫЕ РЕЖИМЫ \ Просмотр удаленных документов — Окончательное удаление безопасно удаленных документов (дней)», по-умолчанию 100 дней.
 

Закрытие периода (всех счетов бюджета) — закрывает один день по всем счетам бюджета. Смещение закрываемого дня относительно системной даты сервера, уровень закрытия  и логин, от имени которого будет проведено закрытие — задаются в параметрах команды (скрипта) в поле «Выполняемая команда».

execute (‘execute dbo.locked_day_close_timer @DayBack = -3, @nLevel = 1’) as user = ‘admin_day_close’  

 

При выполнении задачи закрываются дни с 01.01 по указанную дату (= системная дата SQL — заданное в параметре @DayBack число дней), независимо от наличия в них документов. Закрытие выполняется для счетов бюджета, доступных пользователю, под которым стартует процедура dbo.locked_day_close_timer. Если необходимо закрывать дни для документов без счета бюджета, то следует использовать дополнительный параметр @CloseEmpty = 1.

 

 

 

 

Планировщик заданий для разработчиков — приложения Win32

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья

Важно

Этот раздел и другие разделы в этом разделе предназначены для разработчиков. Сведения об использовании компонента «Планировщик заданий» в качестве администратора или ИТ-специалиста см. в разделе «Планировщик заданий» в документации Microsoft Dynamics 365.

Планировщик заданий позволяет автоматически выполнять рутинные задачи на выбранном компьютере. Планировщик заданий делает это, отслеживая любые выбранные вами критерии (называемые триггерами), а затем выполняя задачи, когда эти критерии выполняются.

Некоторые примеры задач, для выполнения которых можно использовать планировщик заданий: запуск приложения; отправка сообщения электронной почты; или отображение окна сообщения. Вы можете запланировать выполнение задачи в ответ на эти триггеры:

  • При возникновении определенного системного события.
  • В определенное время.
  • В определенное время по ежедневному расписанию.
  • В определенное время по еженедельному расписанию.
  • В определенное время по ежемесячному расписанию.
  • В определенное время по ежемесячному расписанию дня недели.
  • Когда компьютер переходит в состояние ожидания.
  • Когда задача зарегистрирована.
  • При загрузке системы.
  • Когда пользователь входит в систему.
  • При изменении состояния сеанса сервера терминалов.

Планировщик заданий предоставляет API в следующих формах:

  • Планировщик заданий 2.0: интерфейсы и объекты предоставляются для C++ и для разработки сценариев соответственно.
  • Task Scheduler 1.0: интерфейсы предназначены только для разработки на C++.

Требования к среде выполнения

Для планировщика заданий требуются следующие операционные системы:

  • Планировщик заданий 2.0: для клиента требуется Windows Vista или более поздняя версия. Для сервера требуется Windows Server 2008 или более поздняя версия.
  • Планировщик заданий 1. 0: для клиента требуется Windows Vista или Windows XP. Для сервера требуется Windows Server 2008 или Windows Server 2003.

В этом разделе

Тема Описание
Что нового в планировщике заданий Обзор новых функций, представленных в планировщике заданий.
О планировщике заданий Общая концептуальная информация об API планировщика заданий.
Использование планировщика заданий Примеры кода, демонстрирующие использование API-интерфейсов планировщика заданий.
Ссылка на планировщик заданий Подробная справочная информация по API-интерфейсам планировщика заданий и схеме планировщика заданий.

Планирование и триггеры — документация Airflow

Планировщик Airflow отслеживает все задачи и все DAG и запускает экземпляры задач, зависимости которых были удовлетворены. За кулисами, он отслеживает и синхронизируется с папкой для всех объектов DAG, которые она может содержать, и периодически (каждую минуту или около того) проверяет активные задачи, чтобы увидеть, они могут быть запущены.

Планировщик Airflow предназначен для работы в качестве постоянной службы в Производственная среда воздушного потока. Чтобы начать, все, что вам нужно сделать, это выполнить планировщик воздушного потока . Он будет использовать конфигурацию, указанную в воздушный поток.cfg .

Обратите внимание, что если вы запускаете DAG в schedule_interval одного дня, запуск с отметкой 2016-01-01 будет запущен вскоре после 2016-01-01T23:59 . Другими словами, экземпляр задания запускается после того, как период, который он охватывает, закончился.

Давайте повторим это Планировщик запускает ваше задание один раз schedule_interval ПОСЛЕ дата начала, в КОНЕЦ периода.

Планировщик запускает экземпляр исполнителя, указанного в вашем воздушный поток.cfg . Если это LocalExecutor , задачи будут выполняются как подпроцессы; в случае CeleryExecutor и MesosExecutor , задачи выполняются удаленно.

Чтобы запустить планировщик, просто введите команду:

 планировщик воздушного потока
 

Прогоны DAG

Прогон DAG — это объект, представляющий экземпляр DAG во времени.

Каждая группа обеспечения доступности баз данных может иметь или не иметь расписание, в котором сообщается, как выполняются запусков группы обеспечения доступности баз данных . созданный. schedule_interval определяется как аргументы DAG и получает предпочтительно выражение cron как a str или объект datetime.timedelta . Кроме того, вы также можете используйте один из этих «предустановленных» cron:

предустановка означает крон
Нет Не планировать, использовать исключительно для «внешнего запуска» ДАГ  
@один раз Расписание один раз и только один раз  
ежечасно Запускать один раз в час в начале часа 0 * * * *
@ежедневно Запускать один раз в день в полночь 0 0 * * *
@еженедельно Выполнять один раз в неделю в полночь в воскресенье утром 0 0 * * 0
@ежемесячно Выполнять один раз в месяц в полночь первого дня месяца 0 0 1 * *
@ежегодно Запускать один раз в год в полночь 19 января. 0080 0 0 1 1 *

Примечание : Используйте schedule_interval=None , а не schedule_interval='None' , когда вы не хотите планировать свою DAG.

Будет создан экземпляр вашей DAG для каждого расписания при создании записи DAG Run для каждого расписания.

Запуски DAG имеют связанное с ними состояние (выполнение, сбой, успех) и сообщает планировщику, какой набор расписаний должен быть оценен для сдачи задач. Без метаданных на уровне выполнения DAG Airflow планировщик должен был бы сделать гораздо больше работы, чтобы выяснить, какие задачи должен сработать и начать ползать. Это может также создать нежелательные обработки при изменении формы вашего DAG, например, путем добавления новых задания.

Backfill and Catchup

Группа DAG Airflow с start_date , возможно end_date и schedule_interval определяет серии интервалов, которые планировщик превращает в отдельные Dag Runs и выполняет. Ключевая возможность Airflow заключается в том, что эти запуски DAG являются атомарными, идемпотентными элементами, и планировщик по умолчанию будет проверять время жизни DAG (от начала до конца/сейчас, по одному интервалу за раз) и запуск DAG Run для любого интервал, который не был запущен (или был очищен). Эта концепция называется Catchup.

Если ваша группа обеспечения доступности баз данных написана для обработки собственного наверстывания (IE не ограничивается интервалом, а вместо этого «Сейчас» например.), тогда вы захотите отключить наверстывание (либо на самой DAG с dag.catchup = False ) или по умолчанию на уровне файла конфигурации с catchup_by_default = False . Что это достаточно указать планировщику создавать запуск DAG только для самого последнего экземпляра DAG. интервальная серия.

 """
Код, который идет вместе с учебным пособием по Airflow, находится по адресу:
https://github.com/airbnb/airflow/blob/master/airflow/example_dags/tutorial. py
"""
от импорта воздушного потока DAG
из airflow.operators.bash_operator импортировать BashOperator
из даты и времени импортировать дату и время, timedelta
default_args = {
    «владелец»: «воздушный поток»,
    'зависит от_прошлого': Ложь,
    'start_date': дата и время (2015, 12, 1),
    'электронная почта': ['[email protected]'],
    'email_on_failure': Ложь,
    'email_on_retry': Ложь,
    «повторяет»: 1,
    'retry_delay': дельта времени (минуты = 5),
    'schedule_interval': '@почасово',
}
dag = DAG('учебник', catchup=False, default_args=default_args)
 

В приведенном выше примере, если группа обеспечения доступности баз данных выбрана демоном планировщика 02 января 2016 г. в 6 часов утра (или из командной строке) будет создан один запуск DAG с execute_date от 01.01.2016, а следующий один будет создан сразу после полуночи утром 03.01.2016 с датой исполнения 02.01.2016.

Если бы вместо этого значение dag.catchup было True, планировщик создал бы выполнение DAG для каждого завершенный интервал между 01. 12.2015 и 02.01.2016 (но еще не один за 02.01.2016, так как этот интервал не завершено), и планировщик выполнит их последовательно. Такое поведение отлично подходит для атомарных наборы данных, которые можно легко разделить на периоды. Отключение наверстывания — это здорово, если ваши DAG Runs работают засыпка внутри.

Внешние триггеры

Обратите внимание, что Запуски DAG также можно создавать вручную через CLI во время запустив команду airflow trigger_dag , где вы можете определить конкретный run_id . DAG Runs , созданный вне планировщик связывается с отметкой времени триггера и будет отображаться в пользовательском интерфейсе наряду с запланированным DAG запускается .

На заметку

  • Первый DAG Run создается на основе минимум start_date для задачи в вашей DAG.
  • Последующие Запуски DAG создаются процессом планировщика на основе schedule_interval вашей DAG последовательно.
  • При очистке состояния набора задач в надежде на их повторный запуск, важно также помнить о состоянии DAG Run , поскольку оно определяет должен ли планировщик рассматривать запуск задач для этого запуска.

Вот несколько способов разблокировать задачи :

  • Из пользовательского интерфейса вы можете очистить (например, удалить статус) отдельных экземпляров задач. из диалогового окна экземпляров задач, определяя, хотите ли вы включить прошлое/будущее и восходящие/нисходящие зависимости. Обратите внимание, что затем появится окно подтверждения и позволяет вам увидеть набор, который вы собираетесь очистить. Вы также можете очистить все экземпляры задач связанный с даг.
  • Команда CLI airflow clear -h имеет множество параметров, когда дело доходит до очистки экземпляра задачи. состояния, включая указание диапазонов дат, таргетинг на task_id путем указания регулярного выражения, флаги для включения вышестоящих и нижестоящих родственников и нацеливания экземпляров задач на определенные состояния ( не удалось или успешно )
  • При очистке экземпляра задачи запись экземпляра задачи больше не удаляется.

Добавить комментарий