Да, в зависимости от трафика вашего сайта, создание отдельного PHP-процесса для запуска скрипта может иметь разрушительные последствия. Было бы более эффективно использовать shell_exec () для запуска фонового процесса, который сохраняет вывод в имя файла, которое вы уже знаете, но даже это может быть ресурсоемким.
Вы также можете хранить очередь запросов в базе данных. Один отдельный фоновый процесс может выполнить задание, выполнить его и сохранить выходные данные, возможно установив флаг в БД, который может проверить ваш веб-процесс.
Если вы собираетесь использовать подход с очередью БД, используйте класс функций curl_multi *, чтобы отправлять все запросы в очереди одновременно. Это ограничит время выполнения каждой итерации в фоновом процессе самым большим временем запроса.