Веб-задания Azure, основанные на расписании из командной строки, больше невозможны?
Я использую сахар CRM и у него есть cron.php
Я уверен, что давным-давно на старом портале, когда на панели инструментов веб-сайта было видно "ПРЕДСТАВЛЕНИЕ веб-заданий", я сделал веб-задание под названием cron.php, и все это, казалось, работало хорошо. Я не помню, вызывал ли я cron.php напрямую по его URL-адресу (маловероятно, поскольку он содержит код, запрещающий это), или у меня был какой-то другой способ заставить процессор php командной строки обрабатывать сценарий (более вероятно, но не смог получить достаточно подробно на веб-работу, чтобы проверить)
Примерно в августе прошлого года он остановился, не знаю, почему, но теперь кажется, что невозможно настроить его заново, как это было, или как Azure теперь поддерживает запланированные задания.
На новом портале я могу загрузить ZIP-файл, содержащий bat-файл, из команд, которые мне нужны: по существу, для
CD d:\home\site\wwwroot
php -f cron.php
Код cron.php проверяет, что он был запущен из среды командной строки. Я предполагаю, что запуск по URL-адресу отличается от того, что, как уже упоминалось, переход на mysite.com/cron.php, похоже, не работает, он просто перенаправляет ответ на домашнюю страницу сайта и не записывает записи журнала cron., При запуске из командной строки, например, с консоли KUDU или с помощью метода bat-file-in-a-zip-file webjob, он работает как положено
Отлично, так что я дошел до загрузки zip-файла, сделав его новым заданием по требованию на новом портале Azure, и теперь я ищу способ вызывать это задание каждые 10 минут.
Я читаю этот блог: https://azure.microsoft.com/en-gb/documentation/articles/web-sites-create-web-jobs/ но, возможно, он устарел, поскольку подразумевает, что есть способ загрузить zip основанные файлы, как веб-задания и на старом портале, и теперь я нахожу способы вызывать URL-адрес каждые X минут. Также кажется, что это относится к параметрам страницы и ссылкам, которых больше нет на старом портале:
Создать запланированное веб-задание
1) ... На старом портале перейдите на страницу WebJob и нажмите Добавить.
Я не уверен, что означает "страница веб-задания"; Единственный способ найти что-либо, связанное с веб-заданиями, - это перейти в планировщик Azure, а затем в коллекцию веб-заданий.
Я думаю, что однажды "страница веб-задания" была доступна из ряда ссылок, которые можно увидеть, когда они нажимают на веб-сайт (панель мониторинга, монитор, масштабирование, настройка..."
Кроме того, хотя я могу найти способы попасть на страницы SCM для веб-задания на основе zip на новом портале, я не могу найти способ вызвать задание из URL-адреса, иначе я бы подключил этот URL-адрес к планировщику в старый портал
Любой совет, куда идти отсюда? Новый портал, похоже, не поддерживает расписание, но предоставляет способ загрузки скрипта, который вызывает и правильно запускает cron.php, старый портал, похоже, не поддерживает какой-либо способ загрузки скрипта, который правильно вызывает cron.php, но он обеспечивает поддержку расписаний.,
Либо я немного тупой и упускаю что-то действительно очевидное, либо команда Azure сломала довольно жизненное сочетание сценариев (загрузите сценарий, позвоните по расписанию), как это, для всего мира, некоторое время назад - и я бы хотя это вызвало бы шум, так что, надеюсь, первое верно
2 ответа
Я согласен с miracledev, поскольку я вижу вкладку WebJobs на старом портале, и она позволяет мне загружать и планировать работу zip. Убедитесь, что вы выбрали веб-приложение. "Веб-задания" - это одна из концепций веб-приложений, которые описаны на https://azure.microsoft.com/en-gb/documentation/articles/app-service-web-overview/. Не стесняйтесь, дайте нам знать, если мы неправильно поняли ваши первоначальные проблемы.
Вы можете перечислить все "запущенные" веб-задания с помощью API-сайтов SCM:
https://<sitename>.scm.azurewebsites.net/api/triggeredwebjobs
И вы можете вызвать работу, используя:
https://<sitename>.scm.azurewebsites.net/api/triggeredwebjobs/{job name}/run
Что касается невозможности видеть веб-задания на старом портале, это звучит странно, но мы все еще видим это для наших веб-сайтов, которые содержат веб-задания, как запускаемые, так и непрерывные.