Но хотелось бы в момент выполнения видеть на каком этапе находиться обработка
В момент выполнения экшена Вы никак не сможете этого сделать: когда Вы обращаетесь к экшену браузер формирует и отправляет соответствующий запрос, когда экшен завершает работу он возвращает браузеру ответ. Никаких промежуточных данных между этими двумя событиями не существует. Поэтому сделать отображение прогресса - это не 5 минут работы. Если все таки хотите это сделать тогда Вы можете реализовать функционал приблизительно так:
1. В момент обращения к экшену он просто запускает сторонний процесс по обработке(например с помощью того же сервера очередей) и возвращает ответ браузеру.
2. После этого на клиентской стороне идет мониторинг. Для этой задачи например можно использовать WebSocket для связи клиента с сервером (можно конечно и аяксом опрашивать состояние процесса, но это есть костыль)
3. После получения информации о процессе загрузки - осуществляеться его вывод пользователю на уровне javascript