Можно без крона сделать бесконечный процесс через pcntl_fork();
Запускаете процесс, он обрабатывает задачу из очереди, рождает дочерний процесс, а сам закрывается. Дочерний процесс повторяет весь этот круг. Готовых реализаций в сети куча.
Плюсы: чистый пхп, не требуется крон, память не течёт.
Минусы: очень сложно синхронизировать несколько таких процессов между собой.
Можно использовать очередь задач, например тот же rabbitmq
Плюсы: легко синхронизировать процессы воркеров, воркеры могут быть написаны на чем угодно
Минусы: плюс одна технология в стек