#azure #azure-logic-apps
#azure #azure-logic-приложения
Вопрос:
У меня есть приложение web api, развернутое в службе приложений. Мне нужно иметь возможность устанавливать произвольное количество запланированных заданий (http-вызовы для моего веб-api) с произвольным сроком выполнения (от нескольких часов до нескольких месяцев).
Дело в том, что мне нужно иметь возможность программно устанавливать / редактировать / отменять их на лету в зависимости от состояния моего приложения, и мне нужно поддерживать тысячи из них.
Есть ли какой-нибудь рекомендуемый способ сделать это?
Ответ №1:
Я бы сохранил задания либо в базе данных SQL, либо в табличном хранилище (я бы назвал это «ScheduledJobs»).
Затем создайте функцию Azure, которая будет запрашивать хранилище ScheduledJobs с некоторым интервалом, скажем, каждый час, чтобы получать задания, которые должны быть обработаны в этот момент времени.
Затем задания, подлежащие обработке, могут быть записаны в очередь (я бы назвал ее «очередь заданий»).
Затем используйте другую функцию Azure, которая будет получать задания из «очереди заданий». Эта функция Azure имеет бизнес-логику обработки каждого задания.
По моему опыту, функция Azure может работать не более 10 минут. Время, необходимое для обработки каждого задания, не должно превышать этого периода.
Надеюсь, это даст вам некоторое представление.