Меня интересует использование WebJob для замены существующего консольного приложения. Консольное приложение принимает 1 из 5 параметров, используя синтаксис стиля/аргумента, который я сейчас запускаю с помощью Планировщика Windows на моей виртуальной машине. Каждое расписание запускает приложение с определенным аргументом. Некоторые задания выполняются каждые 5 минут, другие - каждые 6 часов.Преобразование консольного приложения в Azure webjobs
Когда я загружаю ZIP-архив, содержащий мое консольное приложение и его зависимости, я ожидал, что сможет предоставить аргумент командной строки для приложения. Это, похоже, не так.
Например, если я создаю пакетный файл (например, Send-Emails.bat), а затем создаю новый WebJob, называемый Send-Emails, он запускает командный файл. Это нормально, но это будет означать, что мне нужно создать 5 разных WebJob (опять же, не проблема) и загрузить ZIP 5 раз, каждый из которых имеет отдельный командный файл, который вызывает консоль с аргументом.
Этот последний шаг кажется очень неэффективным и быстро станет кошмаром для обслуживания. Развертывание такой системы также создало бы проблемы.
Это похоже на базовый сценарий, и я предполагаю, что команда Azure разработала WebJobs. Кто-нибудь имел успех в этом? Я бы предпочел не изменять свой код, если это вообще возможно, и вызов WebJobs из моего веб-приложения с использованием API, похоже, также не идеален.
Спасибо за ваш ответ Мартин. Что касается только одного задания, мои запланированные задачи выполняются с разными интервалами (некоторые работают каждые 5 минут, а другие работают только каждые 6 часов). – Paul
Вы можете сделать запись состояния работоспособной, чтобы помнить, когда в последний раз выполнялись разные задачи. Затем, если вы запускаете задание каждые 5 минут, каждый раз он будет запускать разные задачи. –