[image]

12 - восстановить рефреш топиков на https://www.wrk.ru/forums/ и аналогичных

 
RU спокойный тип #23.03.2025 11:16
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
после переезда не обновляются Форумы и подобные страницы на других доменах.
должны появляться свежие темы с ссылками на крайние в них сообщения - но этого не происходит.

это скорее всего не проблема с файловым кэшем и не проблема с кривым переносом файлов движка форума - проверено.
пока выглядит так что скорее всего не обновляется что-то в базе данных или криво отдается из базы.
на старом сервере (htz) рефреш работает, но с какой-то задержкой, так что скорее всего апдейт дергается регулярно чем то (cron ил task) в lxc контейнере airbase на htz.
и это что-то или просмотрели при переносе в хост систему colo вообще или же оно дергается но рефреш не отрабатывает.
   136.0136.0
Это сообщение редактировалось 21.04.2025 в 11:26
RU спокойный тип #23.03.2025 11:21  @спокойный тип#23.03.2025 11:16
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
с.т.> на старом сервере (htz) рефреш работает, но с какой-то задержкой, так что скорее всего апдейт дергается регулярно чем то (cron ил task) в lxc контейнере airbase на htz.
с.т.> и это что-то или просмотрели при переносе в хост систему colo вообще или же оно дергается но рефреш не отрабатывает.

пока план поднять на тестовом зеркале (где не настраивались регулярные процессы) lxc контейнер airbase , подлинковать его фс к хост системе подобно как на htz, подключить к бд форума, погасить веб. начнет рефрешиться - значит смотреть регулярные процессы в lxc контейнере пока не найдется тот самый.

альтернативный вариант - задампить sql лог mysql (на HTZ) ,из него воспроизвести логику апдейта базы при рефреше , потом найти где она реализована в движке или написать свой скрипт и поставить на расписание.
   136.0136.0
Это сообщение редактировалось 23.03.2025 в 11:32
RU спокойный тип #24.03.2025 13:07  @спокойный тип#23.03.2025 11:21
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
с.т.> пока план поднять на тестовом зеркале (где не настраивались регулярные процессы) lxc контейнер airbase , подлинковать его фс к хост системе подобно как на htz, подключить к бд форума, погасить веб. начнет рефрешиться - значит смотреть регулярные процессы в lxc контейнере пока не найдется тот самый.

лайтовый вариант непрокатил.
   136.0136.0
RU спокойный тип #16.04.2025 07:37  @спокойный тип#24.03.2025 13:07
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
с.т.> лайтовый вариант непрокатил.

Записки на будущее.

1. Удалось воспроизвести работу рефреша на другом тестовом зеркале, на ubuntu16, mysql10.0.38 и с переносом контейнера с lxc " как есть" и версиями ПО совпадающими с htz.

2. Пока выглядит так что раз в час (в районе 30 минут) из форумов выбирается один ( всё обложено LIMIT 1) и
далее находится самый свежий пост про всем топикам форума, и далее идет апдейт.

или вот такой

UPDATE forums SET num_topics = '4162',num_posts = '84841',last_post = '1744722175',last_post_id = '12516649',last_poster = 'спокойный тип' WHERE id='8'
 


или вот такой

UPDATE forums SET num_topics = '4425',num_posts = '1192470',last_post = '1744719730',last_post_id = '12516633' WHERE id='25'
 


3. индексная страница строится на основании предрасчитанных данных в таблице forums.

4. далее планирую воспроизвести логику апдейта что бы сделать воркараунд скрипт "с боку" - в целом она довольно простая, потом поискать кусок кода в bors который штатно чем-то вызывается, и далее понять почему он работает на зеркале и не работает на colo - и по возможности поправить штатную работу.

5. пока совершенно не понятно по какому принципу и чем выбирается какой конкретно forum рефрешить при очередном запуске рефреша.
   137.0137.0
RU спокойный тип #17.04.2025 08:57  @спокойный тип#16.04.2025 07:37
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
с.т.> 4. далее планирую воспроизвести логику апдейта что бы сделать воркараунд скрипт "с боку"



UPDATE forums, (SELECT posts.posted as newposted ,posts.id as newid,posts.poster as newposter ,topics.forum_id as newforum_id  FROM posts INNER JOIN topics ON posts.topic_id = topics.id WHERE posts.is_deleted = 0 AND posts.poster_id is not null AND  forum_id = 4 ORDER BY  posts.id DESC LIMIT 1) AS newposts SET forums.last_post = newposted, forums.last_post_id = newid , forums.last_poster = newposter WHERE forums.id = newforum_id;



вот такой запрос вроде бы нормально рефрешит информацию о посте в форуме


upd

поставил на расписание рефреш всех форумов раз в 15 минут скриптом по крону.

возможно ещё нужно будет докинуть рефреш других параметров форумов

что-то типа

UPDATE forums SET num_topics = (SELECT COUNT(id) FROM topics WHERE forum_id = forums.id) where id = forums.id;
UPDATE forums SET num_posts = (SELECT COUNT(posts.id) FROM posts INNER JOIN topics ON posts.topic_id = topics.id WHERE forum_id = forums.id) where id = forums.id;


но пока работает без них, вроде норм.
   137.0137.0
Это сообщение редактировалось 18.04.2025 в 07:45
RU спокойный тип #18.04.2025 07:57  @спокойный тип#16.04.2025 07:37
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
с.т.> 5. пока совершенно не понятно по какому принципу и чем выбирается какой конкретно forum рефрешить при очередном запуске рефреша.


Скорее всего это механизм tasks на который исхходный форум был переделан Ромой.

Там рядом есть исходные куски кода (отключенные) которые рефрешили форум (отдельные ветки форума) при каждом изменении при вызове update_forum($fid) из разных мест движка;

Заменено на создание тасков которые должен обрабатывать отдельный механихм worker-ов в асинхроном режиме с учетом видимо самых разнообразных параметров, по сути там всё в виде json проходит, и далее что-то видимо через инфонезию должно было отгружаться в какой-то возможно другой движок форума.

Видимо проблема в том что механизм тасков перестал работать потому что....??...непонятно как он вообще работал. Возможно там разные таски не выполняются а не только рефреш формумов.

Далее - или удастся его починить или понять какие ещё таски из тех что нужны не выполняются (если такие есть) и для них сделать замену.

зы в целом механизм тасков который всё складывает в json выглядит как движок позволяющий вообще весь форум экспортнуть в jsonы и загрузить куда-то ещё, похоже что разработка шла в этом направлении
   137.0137.0
21.04.2025 01:58, Peredel: +1
+
-
edit
 

Peredel

опытный
☆★
Смотрю обновление вроде наладилось, выражаю респект за проделанную работу
   88
RU спокойный тип #21.04.2025 11:58  @Peredel#21.04.2025 01:57
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
Peredel> Смотрю обновление вроде наладилось, выражаю респект за проделанную работу

спасибо
   137.0137.0

в начало страницы | новое
 
Поиск
Настройки
Статистика
Рейтинг@Mail.ru