Как правильно сделать несколько параллельных циклических процесса на PHP?
Доброго времени суток.
Есть несколько процессов(пока два, но дальше - больше), которые должны выполняться параллельно и без остановки.
Попытки решения, которые я пытался реализовать:
1. Запустить процессы из командной строки в фон(php artisan command > /dev/null 2>&1 &), а сам скрипт просто зациклить "на вечно" или пока не сработает условие остановки. Проблема: все работает, но происходит утечка памяти, не существенная, но все же через несколько часов процесс отваливается с ошибкой нехватки памяти.
2. Запустить процессы из командной строки в фон(php artisan command > /dev/null 2>&1 &), а сам скрипт зациклить на несколько итераций, после чего вновь запустить его самого из себя( exec('bash -c "exec nohup php artisan command > /dev/null 2>&1 &"')). Проблема: не понятно по какой причине(по крайней мере в логах php и nginx ничего нет) не всегда происходит самозапуск скрипта.
3. Думал использовать Gearman`а, но установка его под винду - задача не из простых и понятных.
4. Крон с lock файлом. Проблема: цикл должен происходить примерно раз в 3 сек и не понятно когда заводить крон для проверки и повторного запуска, в идеале бы раз в секунду, но это как то не круто.