Перенос нескольких запланированных задач windows с виртуальной машины на одно веб-задание - PullRequest
0 голосов
/ 28 апреля 2020

Я довольно новичок в Azure, и я просто хочу подтвердить, что я на правильном пути, когда хочу перенести несколько windows запланированных задач на веб-задания.

В настоящее время я развертываю Мой (c#) проект находится в одном каталоге на ВМ, и в нем есть ряд запланированных задач, которые выполняются по разному расписанию, используя аргументы запланированной задачи, чтобы определить, какая задача запускается.

Я хотел бы перенести это относится к веб-заданиям (или к любому другому релевантному Azure безсерверному приложению), но я вижу только один способ создания одного веб-задания на запланированное задание. Это будет реальная боль при внесении изменений в код и необходимости развертывания в 20-30 различных местах (по одному на веб-работу).

Есть ли способ сделать это, что даст мне эквивалент нескольких windows Графики задач, работающих с тем же exe? Я подумал, возможно, иметь файл settings.job с несколькими расписаниями, и у каждого расписания есть необязательные аргументы, но не похоже, что это возможно.

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

Спасибо за любую помощь по этому вопросу

Стив

1 Ответ

0 голосов
/ 30 апреля 2020

Сэмплы на https://github.com/Azure/azure-webjobs-sdk-samples/tree/master/BasicSamples могут дать вам основную c идею. Но из того, что вы сказали, я думаю, что вы можете добавить различные запланированные триггеры (Таймер, Очередь) в Functions.cs, который добавил ваш консольный проект C#. Ознакомьтесь с этим руководством по быстрому запуску , а также с обзором репозитория BasicSamples.

Когда дело доходит до аргументов вашей задачи, я бы посмотрел на использование Azure Таблиц хранения и свяжите таблицу с вашим [TimerTrigger], чтобы получить данные аргумента, чтобы «функция» знала, что делать.

Вы можете publi sh вашего проекта в качестве веб-задания и каждый триггер в Functions.cs должен отображаться в колонке веб-заданий службы приложений, в которой вы развернули.

...