Как остановить веб-задание по запросу

У меня есть веб-задание по запросу, которое запланировано с использованием выражения cron. Я пробовал анализировать REST API. Он предоставляет возможность остановить непрерывно выполняющееся веб-задание. Есть ли способ остановить эту веб-работу во время ее работы?


person Hari Subramaniam    schedule 23.11.2015    source источник


Ответы (1)


Для заданий OnDemand CRON в настоящее время способ остановить задание - временно удалить расписание из файла settings.job. Аналогично, если вы использовали Планировщик Azure для вызова задания, способ остановить задание - остановить расписание в Планировщике Azure. Альтернативой удалению расписания из файла было бы переименование файла settings.job в settings.job.disable или переименование свойства schedule в settings.job, при котором выражение CRON остается неизменным, но отключенным. (например, "schedule.disabled": "0 */30 * * * *").

Вероятно, для нас было бы лучше поддерживать свойство "disabled" в settings.job, которое вы можете установить (например, "disabled": true). Таким образом, расписание остается в силе и отключается только временно.

person mathewc    schedule 23.11.2015
comment
Кроме того, установка WEBJOBS_STOPPED=1 в параметрах приложения Azure остановит все запланированные задания CRON (но не те, которые поступают из планировщика, поскольку они поступают извне). - person David Ebbo; 24.11.2015
comment
@David Ebbo Этот параметр останавливает все CRON в веб-приложении? - person Hari Subramaniam; 24.11.2015
comment
@Mathewc Фактически это означает, что без повторного развертывания это невозможно? Любые возможности через силовую оболочку? - person Hari Subramaniam; 24.11.2015
comment
Модификации файлов, о которых я упоминал, являются единственными вариантами на данный момент. Вы можете записать здесь проблему с подробным описанием вашего сценария: github.com/projectkudu/kudu/issues. - person mathewc; 24.11.2015
comment
Другой вариант - вы можете использовать SDK WebJobs, который также поддерживает запуск функций задания по расписанию на основе того же формата выражения CRON. См. TimerTrigger в github.com/Azure/azure-webjobs-sdk-extensions . В связи с этим в SDK WebJobs также есть атрибут DisableAttribute, который можно применять к функциям, что позволяет включать / отключать функции в зависимости от настроек приложения. Дополнительную информацию об этом можно найти в примечаниях к выпуску здесь: github.com/ Azure / azure-webjobs-sdk / wiki / Release-Notes. - person mathewc; 24.11.2015
comment
@HariSubramaniam: да, этот параметр влияет на все, что размещено в этом веб-приложении. - person David Ebbo; 24.11.2015
comment
Указанный файл также можно изменить с помощью Kudu (‹your-website› ​​.scm.azurewebsites.net). Таким образом, развертывание не требуется. - person JoaoRibeiro; 22.02.2017