Laravel: Запуск очереди: постоянное прослушивание в Windows Azure Web App

Я чувствую себя немного глупо, задавая этот вопрос, но я не могу найти ответ в Интернете по этой проблеме. После нескольких часов работы я выяснил, что на сервере Linux вы используете Supervisor для непрерывного запуска «php artisan queue: listen» (с демоном или без демона) на своем веб-сайте для обработки заданий, помещенных в очередь. Это хорошо и хорошо, но что, если я хочу сделать это в веб-приложении Windows Azure? После поиска решений, которые я нашел, были:

  • Сделать хроном работу для запуска «php artisan queue: listen» каждую минуту (или каждые X минут), мне действительно не нравится это решение и вы хотели бы избежать этого специально, если сайт получает больше трафика;
  • Добавьте WebJob, который постоянно запускает «очередь php artisan: listen» (проблема здесь заключается в том, что я не знаю, как написать скрипт для WebJob …);

Я хочу попросить вас, ребята, помочь узнать, какое из них является правильным решением, если есть лучший, и если WebJob является лучшим, как мне написать сценарий для этого? Заранее спасибо.

Solutions Collecting From Web of "Laravel: Запуск очереди: постоянное прослушивание в Windows Azure Web App"

Короче говоря, Supervisor – современная альтернатива nohup (без зависания) с несколькими другими кусочками и кусками. Короче говоря, есть другие ресурсы, которые могут содержать задачу, выполняемую в фоновом режиме (daemon), и решение, которое я использую для проектов на базе Windows (очень мало tbh), является Forever, которое я обнаружил через: https://stackoverflow.com/a/18226392 / 5912664

C:\myprojectroot > forever -c php artisan --queue:listen --tries=3 

Как?

Установить node для Windows, затем с помощью npm install Forever

 C:\myprojectroot > npm install -g forever 

Если вы застряли для запуска узла в Windows, я рекомендую диспетчер пакетов Windows, Chocolatey

https://chocolatey.org/packages?q=node

Обязательно проверьте наличие любых файлов журналов, созданных Forever , поскольку я оставил один достаточно длинный, чтобы потреблять 30 ГБ дискового пространства!

Для Azure вы можете создать новый веб-приложение для своего веб-приложения и загрузить файл .cmd, включая такую ​​команду.

php% HOME% \ site \ wwwroot \ artisan queue: work –daemon

и определение того, что в качестве триггера и 0 * * * * * frecuency cron.

таким образом работа для меня.

Лучший.