В настоящее время, когда мне нужно запустить много PHP-скриптов в Parallell, я использую систему очередей, такую как Бернард . С одной стороны, у вас будет скрипт запуска, который будет помещать задачи в очередь (реализованный, например,на сервере Redis).Это то, что будет сделано с помощью cron.Каждые 5 минут будет вызываться сценарий запуска, который будет выдвигать одно задание на пользователя в очередь, так как вы можете выдвигать параметры в очередь, вы можете задавать задание с пользователем в качестве параметра.
С другой стороныЕсли у вас столько слушателей, сколько вы хотите, процессы слушателя могут управляться, например, monit .Эти слушатели ждут, когда задача будет обработана из очереди независимо, всякий раз, когда они находят задачу, которую могут выполнить, они выполняют ее так, чтобы вы могли выполнять столько задач одновременно, сколько пожелаете.
Реализациято, что вы делаете в данный момент с вашим пользователем, - это то, что написано в коде слушателя.Это просто простой способ объяснить все, я призываю вас прочитать документацию Бернарда , это было бы намного понятнее.