Как я могу остановить/ликвидировать запущенную задачу в Airflow UI? Я использую LocalExecutor
.
Даже если я использую CeleryExecutor
, как я могу убить/остановить запущенную задачу?
На экране DAGs можно увидеть запущенные задачи:
В разделе 'Недавние задачи' нажмите на значок выполнения, и Airflow автоматически выполнит поисковый запрос с фильтрами для Dag Id и State равными 'running' и покажет результаты на экране Task Instances (вы можете найти его вручную на вкладке Browse > Task Instances).
Там вы можете выбрать представленные задачи и перевести их в другое состояние или удалить.
Обратите внимание, что если группа DAG запущена, планировщик Airflow снова запустит задачи, которые вы удалите. Поэтому либо сначала остановите группу DAG, изменив ее состояние, либо остановите планировщик (если вы работаете в тестовой среде).
от airflow gitter (@villasv)
Не изящно, нет. Вы можете остановить dag (снять пометку как запущенный) и очистить состояние задач или даже удалить их в UI. Фактически запущенные задачи в исполнителе не остановятся, но могут быть убиты, если исполнитель поймет, что его больше нет в базе данных.
Просто поставили задачу, чтобы государство не остановит выполнение задач.
[2019-09-17 23:53:28,040] {logging_mixin.пы:82} информация - [2019-09-17 23:53:28,039] {вакансии.пы:2695} предупреждение - состояние данного экземпляра была внешне ошибка. Принимая отравленную пилюлю. [2019-09-17 23:53:28,041] {помощников.ру:240}. информация - отправка сигналов.Прекращается в GPID 20977
Как упомянули Pablo и Jorge, приостановка Dag не остановит выполнение задачи, если она уже началась. Однако есть способ остановить запущенную задачу из пользовательского интерфейса, но это немного сложно.
Когда задача находится в состоянии running
, вы можете нажать на CLEAR
, это вызовет job.kill()
, задача будет установлена в shut_down
и перемещена в up_for_retry
немедленно, следовательно, она остановлена.
Очевидно, что Airflow не хотел, чтобы вы очищали задачи в состоянии Running
, однако, поскольку Airflow не отключил эту функцию, вы можете использовать ее, как я предложил. Airflow предназначал CLEAR
для использования с failed
, up_for_retry
и т.д.... Возможно, в будущем сообщество воспользуется этой ошибкой(?) и реализует это как функциональность с кнопкой "закрытия задачи".