Преобразуйте консольное приложение .NET Core для запуска в Azure в качестве непрерывной фоновой службы. - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть консольное приложение .NET, которое я хочу запустить в качестве фоновой службы, которая никогда не останавливается в Azure.Следует ли преобразовать консольное приложение в функцию Azure или веб-задание?

Как запустить функцию (если это лучший вариант) без остановки?Я играл с запуском функции с таймером, который запускается каждую минуту, но я не уверен, что это делает.Будет ли он запускать задание каждую минуту в течение минуты, а затем запускать новый экземпляр?Есть ли способ сказать запустить функцию и не прекращать работу?Пока я использую цикл while (true), но я не уверен, что то, что я делаю, является правильным способом сделать что-то подобное.

Ответы [ 2 ]

1 голос
/ 10 апреля 2019

Звучит как идеальная подгонка для непрерывного веб-задания.

Непрерывный веб-задание

Начинается сразу после создания веб-задания.Чтобы предотвратить завершение работы, программа или скрипт обычно выполняют свою работу в бесконечном цикле.Если работа заканчивается, вы можете перезапустить ее.

Работает на всех экземплярах, на которых работает веб-приложение.При желании вы можете ограничить WebJob одним экземпляром.

Дополнительные сведения можно найти на Запуск фоновых задач с помощью WebJobs в службе приложений Azure

0 голосов
/ 10 апреля 2019

Один из вариантов, о котором я думаю, - это иметь виртуальную машину и запускать там эту службу.

Другой вариант, как вы сказали, запускать запуск каждые X периодов, но не выполняйте свою работу долго, выполняйте свою работу и имейте в виду, что вы ограничены максимум 5 минутами (может быть больше читайте здесь ).

Если вы запустите триггер, ваше задание будет запущено в том же экземпляре (но вам не важно, где оно запускается). Функция host будет отключена после некоторого простоя. Также имейте в виду, что функция Azure может масштабироваться, и вы можете запускать одно и то же задание в нескольких экземплярах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...