добавил в цикл очистку кеша после каждой 1000
и проблема решилась
и проблема решилась
| Код |
|---|
if (0 == $i%1000) {
BXClearCache(true);
} |
|
добавил в цикл очистку кеша после каждой 1000
и проблема решилась
|
|||
|
|
|
|
хотя нет
проблема не решилась всё также |
|
|
|
|
|
да, давно надо уже на D7 переходить
спасибо! а не знаете как в D7 водяной знак к картинке прикручивают? раньше так делали
если делать также, то как получить этот массив картинки $arImg, чтобы применить CFile::ResizeImageGet ? |
|||
|
|
|
|
Аналога пока не встречал, так как все мои клиенты от нее отказались много лет назад. Остались только несколько потому что фотки они сами делают, в своей студии, и они шикарны.
В эту функцию можно передавать не массив, а ID. Но тогда он будет лесть в базу по старинке. В d7 примере выше вы можете добавить выборку нужных полей и сформировать готовый массив для передачи в CFile::ResizeImageGet. Также учтите "Если на изображении есть водяные знаки, они должны занимать не больше 10% от всей площади изображения.". И еще, наложить водянку на 10к товаров за один заход врятли выйдет. Скрипт просто сдохнет по таймауту. Водянистые миниатюры нужно предварительно отгенерить, если вы все же нацелены на одношаговый экспорт. |
|
|
|
|
хотя может и не сразу на все 10К как я понимаю это всё делается через битриковский кэш если уже есть такая картинка с нужным разрешением и водяным знаком в кэше, то она просто берется из кэша вот запускаю для одной и той-же картинки два раза наложение водяного знака и результат тот-же фаил /upload/resize_cache/iblock/bbd/450_450_02d61ece478ce76d6424 /upload/resize_cache/iblock/bbd/450_450_02d61ece478ce76d6424 |
|||
|
|
|
|
Не сдох потому что:
|
|||
|
|
|
|
сделал "краш" тест серверу
поменял файл водяного знака ))) вот результаты работы по времени
т.е. примерно 24 мин на 33К картинки потом повторно запустил, т.е. через кэш
|
|||||
|
|
|
||||