Перепишу свой пост, т.к. писал, когда ответа небыло.
Смотрите, Вы выбрали не все записи из базы, а только одну, запрос занял доли секунды. Теперь ваша задача - определить, сколько запросов можно выполнить за 1 секунду. Запрос занял 0.0688 сек, следовательно 1/0.0688=14 запросов. Теперь вы можете написать цикл, в котором выполняется один запрос и производятся действия с файлами. Перед циклом ставим счетчик времени выполнения и внутри - проверку, успеет ли выполниться следующая интерация цикла до завершения 1 сек, т.к. потом придет вызов из JS (кстати, эту ситуацию тоже нужно проверять).
1 сек. взял от балды, т.к. вам нужно, что бы прогресс-бар двигался. Можно и 2 сек поставить, и 5. То есть у вас JS сделал запрос - отрисовал график, сделал запрос - отрисовал график. Запрос идет порциями, скажем, по 7-10 интераций цикла с учетом времени на отработку удаления файла и запись лога.
Все, рабочий день закончился, убегаю домой ))