Всем привет. Столкнулся с задачей обновления мета данных у 60к+ постов. Прохожусь по всем циклом foreach:
foreach ( $product_ids_list as $id ) {
cr_product_fill_meta( $id );
error_log( 'after memory usage: ' . memory_get_usage() );
$i
Функция
cr_product_fill_meta:
function cr_product_fill_meta ( $prod_id ) {
//товар можно редактировать?
$is_product_blocked_edit = get_post_meta( $prod_id, 'is_product_blocked_edit', true );
unset ( $is_product_blocked_edit );
}
add_action( 'save_post', 'cr_product_fill_meta' );
Сейчас из функции убрано все лишнее. Но даже то, что есть сжирает память очень быстро и я не понимаю почему. Вот что вижу в логе:
[04-May-2020 10:17:24 UTC] before memory usage: 66954464
[04-May-2020 10:17:50 UTC] before memory usage: 66954464
[04-May-2020 10:17:51 UTC] after memory usage: 66992384
[04-May-2020 10:17:51 UTC] after memory usage: 67011952
[04-May-2020 10:17:51 UTC] after memory usage: 67031520
[04-May-2020 10:17:51 UTC] after memory usage: 67051088
[04-May-2020 10:17:51 UTC] after memory usage: 67070656
[04-May-2020 10:17:51 UTC] after memory usage: 67090544
[04-May-2020 10:17:51 UTC] after memory usage: 67110112
[04-May-2020 10:17:51 UTC] after memory usage: 67129680
...................................................................
[04-May-2020 10:17:55 UTC] after memory usage: 226265440
[04-May-2020 10:17:55 UTC] after memory usage: 226284416
[04-May-2020 10:17:55 UTC] after memory usage: 226303392
[04-May-2020 10:17:55 UTC] after memory usage: 226322368
[04-May-2020 10:17:55 UTC] after memory usage: 226341344
[04-May-2020 10:17:55 UTC] after memory usage: 226360320
[04-May-2020 10:17:55 UTC] after memory usage: 226379296
И потом все упирается в memory_limit (даже 10к постов не проходит). Куда уходит память, если я создаю переменную и сразу ее убиваю?? Скрипт запускается ajaxом, если это важно