Ура, вы изобрели очередь. Можно реализовать прямо так как вы описали (не забудьте только у задач сделать отметки со статусом и временем, типа "новое", "в процессе", "выполнено", чтобы одно задание не пошло на исполнение дважды, и проверку не находится ли оно слишком долго в процессе. Ну еще PID испольнителя можно писать, чтоб контролировать живой он там или отвалился уже).
Можно взять что-то серьезное и крутое из готового. типа
RabbitMQ или аналогов.
Если это всё не очень критичное, падения этого "долгого" процесса редкие или их можно проигнорировать, то достаточно
форкнуть процесс.