Я оформлял такие скрипты в виде консольной команды на PHP.
И работало все по такому принципу:
1) Запускаем команду, она пишет в базу (в специальную табличку) что она запущена
2) На фронтенде запускается ajax который время от времени проверяет табличку с состоянием команды по ее идентификатору.
3) Команда завершилась ошибкой и записала в табличку свое состояние «error» например и сообщение ошибки, ajax запрос увидел это и сообщил уже веб интерфейсу.
4) Команда завершилась успехом — аналогично пункту (3)