Есть файл с таким кодом
$result = file('base.txt');
for ($i=0; $i < 20 ; $i++) {
$result[$i] = (int)$result[$i];
$data = json_decode(file_get_contents('https://api.vk.com/method/wall.getComments?owner_id=-id&post_id='.$result[$i].'&need_likes=1&count=100'));
for ($j=1; $j < 100 ; $j++) {
if ($data->response[$j]->likes->count < 3){
$cid = $data->response[$j]->cid;
$date = $data->response[$j]->date;
$gett = time();
$res = $gett - $date;
if ($res > 600){
file_get_contents('https://api.vk.com/method/wall.deleteComment?owner_id=-id&comment_id='.$cid.'&access_token=xxx');
}
}
}
}
Ставится на крон каждые 10 мин, файл проверяет через vk api 20 последних записей в группе на наличие комментариев под этими постами с помощью цикла, запрос возвращает массив с комментариями и данными по ним, далее еще в одном цикле проходим по всем объектам комментариев и смотрим если на нем меньше 3 лайка и если ему больше 10 минут, то коментарий удаляем.
Тестил на пустой группе со своими комментами, все работало норм. Поставил на паблик с активом, скрипт просто виснет. Даже пробую запустить вручную через адресную строку - грузит минуту две и 504 таймаут
Как я понял это из за циклов или из за чего?... Как можно оптимизировать? Надо каждый раз проверять по 2000 комментов (20 записей по 100 комментов)
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости