AzurePHP - опрос очереди Azure - PullRequest
       6

AzurePHP - опрос очереди Azure

0 голосов
/ 06 января 2012

У меня есть скрипт PHP, который записывает файл в BLOB-объект Azure.После загрузки файла логика в Azure выполняет вычисления, а затем помещает результат в BLOB-объект.По завершении сообщение помещается в очередь Azure.

Я пытаюсь написать код в php, который опрашивает очередь, ищет конкретное сообщение, указывающее, что результат готов к загрузке.Как бы вы подошли к этому?

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Единственно возможный способ сделать это с помощью PHP, который я считаю следующим возможным решением вашей проблемы:

  1. Создайте небольшой php-файл, который проверяет очередь на наличие сообщений и обрабатывает их, если таковые имеются. Получить только одно сообщение за раз. Не забудьте удалить сообщение после обработки. При получении сообщения получите его с соответствующим таймаутом, чтобы было достаточно времени для его обработки.
  2. Создайте небольшой файл .bat (или .cmd), который вызывает двоичный файл php.exe, предоставляя путь к вашему файлу php
  3. В задаче запуска настроить Планировщик задач Windows для выполнения пакетного файла (.bat или .cmd) каждые N секунд / минут

Надеюсь, это поможет!

Добавьте комментарий, если вам нужна дополнительная помощь, и я постараюсь предоставить примеры кода. Все довольно тривиально.

1 голос
/ 09 января 2012

Насколько мне известно, LAMP stnads ​​для Linux, MySQL, Apache, PHP.В настоящее время невозможно запустить Linux в Windows Azure.

Но если вы не говорите о Windows Azure Compute, где работает ваш PHP и просто Linux. Это даже проще и точно так же.Единственное отличие состоит в том, что вы должны использовать cron (или здесь ) или при , чтобы запланировать выполнение вашего php-скрипта.

InВ Linux вы даже можете сделать свой php-скрипт исполняемым, добавив специальную команду процессора в первую строку .Вы должны поместить что-то вроде:

#!/path/to/your/php/binary/php

в первую строку вашего php-скрипта, который обрабатывает очередь.

Это примерная строка конфигурации для crontab для выполнения вашего скрипта каждые 2 минуты:

*/2 * * * * /path/to/your/php/script/process_queue.php

Взят от здесь .

...