Демон - это процесс, выполняющийся в фоновом режиме.
Здесь все, что вам нужно сделать, это проверить одно новое сообщение в очереди, а затем выйти.
По сути, вы должны добавить цикл, который принимает весь код, который должен быть выполнен. Вам нужно выполнить спящий цикл, чтобы ваш демон не занимал все доступные ресурсы.
В любом случае, php плохо работает с демоном, потому что некоторая память никогда не освобождается до конца скрипта. Если ваш скрипт никогда не завершится (как демон), он съест всю доступную память (в соответствии с конфигурацией php), а затем умрет с ошибкой. Чтобы избежать утечек памяти, вам придется очень тщательно кодировать свой скрипт.
Также обратите внимание, что каждый раз, когда вы спрашиваете библиотеку sqs, она отправляет http-запрос на серверы Amazon. Это может быть очень дорого делать слишком часто.
Для компенсации я рекомендую вам использовать cronjob, который запускается каждую минуту, чтобы проверять новое задание. Таким образом вы избежите утечек памяти (процесс php останавливается между выполнениями) и слишком большого использования сети (запрос выполняется за одну минуту).
В последнем замечании, если вы не планируете выполнять много задач (это означает, что ваш демон ничего не делает в 99% случаев), рассмотрите возможность использования очереди push. С помощью push-очереди больше не ваш сценарий опрашивает очередь, но очередь уведомляет ваш сценарий (то есть: вызывает вас сценарий со стандартным http-запросом) каждый раз, когда необходимо выполнить какую-либо задачу. Это позволит избежать запуска скрипта без необходимости.
Я не знаю, предоставляет ли amazon очереди push, но ironmq (еще один «бесплатный» сервис очереди) может их предоставить.
Дополнительная информация: http://dev.iron.io/mq/reference/push_queues/