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