Как постоянно обрабатывать события на php?
У PHP есть функция, выполняемая в коде: set_time_limit ( int $seconds );. При передаче 0 в параметре конкретно этот скрипт будет жить вечно, пока не появится фатальная ошибка/не крашнется, и т.п..
Конечно, реализовывать через PHP таких демонов не комильфо, но в качестве исключения ничего плохого в этом не вижу. PHP так же может реагировать на сигналы, умеет управлять своим процессом почти как настоящий демон, поэтому реализовать вполне реально.
Второй вариант - запускать скрипт постоянно по крону (или по планировщику в виндах), но при единственной проверке в коде, проверки эти будут проходить каждую минуту, что может не подойти (зависит от задачи).
Я бы написал демона с бесконечным временем выполнения и первое время мониторил бы его работу каким-нибудь другим скриптом, чтоб убедиться, что оно летает и не падает.
Памяти/процессора он жрёт не много, фактически работать всё будет. А то, что PHP для этого не используется - это просто издержки программерских религий :)
Используйте supervisord.org для поднятия скрипта как демона и в while (true) {...}
делайте что вам угодно. Supervisord следит за состоянием процесса и если тот умирает, то перезапускает его. Если боитесь переполнения памяти, то можете вырубать сам скрипт через определенное время или если он съел много памяти через exit или die;
Кстати, очень странное апи, если оно реализует события, которые могут возникнуть асинхронно, то ищите описание сокет протокола для этого апи, обычно более грамотно реализовывать серверные события по сокету (или веб сокету), тк они асинхронны.