Есть задача, нужно из таблицы брать некоторые задания для выполнения, их может быть и не быть в момент времени Х, а может быть много, по этим "задачам" нужно выполнять некоторое действия (обращения к внешней системе через xmlrpc запись в БД), данные должны обрабатываться довольно быстро, что бы задачи в БД не копились. Есть несколько решений(придумал на вскидку), первое это crond, второе это while(1){погнали чекать и обрабатывать задания; sleep(X)} и третье более заманчивое решение (которое я бы реализовал лучше на perl, но надо именно на PHP!), это сделать демона который бы запускал в "потоках" под процессы, контролировал их выполнения (в зависимости от кода завершения потомка решал бы что делать с заданиями и так далее). Демон еще хорош тем, что если заданий будет много (а на одно задание может уйти от 2 до 60 секунд, это можно понять от типа задания), можно действительно быстро разгребать все задания довольно быстро, за счет множества процессов потомков, которые по сути выполняют одинаковую операцию но с разным кол-ом данных. Собственно вопрос, кто-нибудь делал па php деманы? Можно ли на этом языке реализовать полноценный демон со всеми свойствами которые присущи деманам в POSIX системах?
|