вы можете запускать внешний скрипт в бэкграунде - делов то.
но по факту все что вы тут расписали - решается очередью. сидит демон и мониторит очередь на наличие задач - получил обрабатывает. не получил - сидит ждет. профит по сравнению с чем? с вашей реализацией манагера потоков на php? ну при всем уважении к вам и пхп по стабильности я поставлю на какой нибудь rabbitmq, да и по скорости тоже на него.
Самое простое решение, как уже указали, использовать несколько воркеров, столько, сколько будет оптимальным. Для этого проще всего запускать их в разных процессах, чем использовать потоки или подключать асинхронность.
внутри есть определение класса class Article extends ActiveRecordEntity. Т.е. расширяем от класса ActiveRecordEntity, php будет искать этот класс, но он еще не загружен, т.к. загрузкой его занимается функция объявленная в spl_autoload_register, а это произойдет только в 6 строке.
Проще говоря, переместите spl_autoload_register в начало файла.