Цитата |
---|
Артём Курочка пишет: вот в двух словах - как вы делаете пошаговость? |
Пусть имеем файл "3r5g6hty.csv" в какой-то папочке, и его надо импортировать...
1) засекаю в начале выполнения скрипта время старта
2) после каждого CIBlockElement add смотрю, сколько со старта прошло времени, если больше порога (скажем больше 15 сек.), прерываю цикл импорта, запоминаю куда-нибудь, например, в файл "3r5g6hty.csv_" номер строки, на которой остановился
3) перезапускаю скрипт сначала
ну и пункт, который на самом деле идет перед пунктом 1 (то есть в начале скрипта импорта):
0) смотрю, нет ли рядом с файлом "3r5g6hty.csv" файла "3r5g6hty.csv_", если нет, импорт идет с 1 строки, если есть, то импорт идет со строки, номер которой указан в файле "3r5g6hty.csv_"
Вот как-то так... На самом деле там еще всякие разные мелочи, можно сделать это все с аяксом, без перезагрузки основной страницы, с прогрессбаром и т.п., но в общем и целом все так
Так же можно почаще записывать номер строки, которую уже импортировали, тогда и в случае сбоя скрипта можно будет начать с места сбоя...