разбить задачу на несколько простых и выполнять поэтапно:
1. загрузка данных
2. парсинг и формирование промежуточных данных
3. загрузка в базу
нужно создать скрипт очереди задач запускаемый через cron.
если задача формируется пользователем, то можно сделать аналогично - "долгий" контроллер запускаемый через ajax