ZP обновляет списки с задержкой в несколько часов

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Всем привет.
ZP стоит на сервере, работает в 25 потоков, берет данные из списков, сохраняет данные в списки.
Через какое-то время списки в проводнике перестают обновляться. При этом шаблон продолжает работать без ошибок, т.е судя по логу так же берет/записывает данные в списки. Я останавливаю шаблон, и через несколько часов списки обновляются в проводнике. С чем это может быть связано?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 511
Благодарностей
10 058
Баллы
113
@Atlas В Проводнике обновляете содержимое папки (кнопка F5)? Файлы-списки имеют время обновления свежее или устаревшее на несколько часов?
 

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
@Atlas В Проводнике обновляете содержимое папки? Файлы-списки имеют время обновления свежее или устаревшее на несколько часов?
Вот вчерашний пример.
15:30 - списки перестали обновляться. Т.е дата изменения в проводнике у всех списков - 15:30.
В 16:30 я это заметил и остановил шаблон.
В 17:30 списки обновились, обновилась и дата изменения.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 511
Благодарностей
10 058
Баллы
113
Вот вчерашний пример.
15:30 - списки перестали обновляться. Т.е дата изменения в проводнике у всех списков - 15:30.
В 16:30 я это заметил и остановил шаблон.
В 17:30 списки обновились, обновилась и дата изменения.
Данные в списках тоже добавились именно в 17:30?
Проект вы сами писали? Нет там каких то длительных циклов, на которые он может выйти при каких то обстоятельствах?
 

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Данные в списках тоже добавились именно в 17:30?
Проект вы сами писали? Нет там каких то длительных циклов, на которые он может выйти при каких то обстоятельствах?
Да, тоже в 17:30.
Проект сам писал. Циклы есть, но максимум повторений 10, потом дальше идет. Т.е зашел в цикл, выполнил 10 раз, пошел дальше. При этом сам шаблон не зациклен.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 511
Благодарностей
10 058
Баллы
113
Да, тоже в 17:30.
Проект сам писал. Циклы есть, но максимум повторений 10, потом дальше идет. Т.е зашел в цикл, выполнил 10 раз, пошел дальше. При этом сам шаблон не зациклен.
Списки не были открыты в этот момент в каких то программах-просмотрщиках?
 

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18

ex3maL

Client
Регистрация
22.05.2020
Сообщения
359
Благодарностей
268
Баллы
63
Смотря какие списки
Обычно на пару тыс строк обновялется за несколько секунд
А если ты списки запихал по 30-50-100мб
Ну как бы тогда все ясно)))
 
  • Спасибо
Реакции: Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 511
Благодарностей
10 058
Баллы
113

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Смотря какие списки
Обычно на пару тыс строк обновялется за несколько секунд
А если ты списки запихал по 30-50-100мб
Ну как бы тогда все ясно)))
Разные списки, есть банально proxy.txt, где 25 строк. Есть result.txt, там да, больше 100 мб. Но зависает обновление одновременно и у proxy.txt и у result.txt. И отвисает тоже одновременно.
В Настройки - Выполнение так настроено?

Посмотреть вложение 81126
Да, так.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 511
Благодарностей
10 058
Баллы
113
Разные списки, есть банально proxy.txt, где 25 строк. Есть result.txt, там да, больше 100 мб. Но зависает обновление одновременно и у proxy.txt и у result.txt. И отвисает тоже одновременно.

Да, так.
Получается что шаблон спотыкается о список-монстр и там начинает подвешиваться.
Возможный выход из ситуации - это разбивать result.txt на подсписки (подфайлы), динамически дробить их на конкретное кол-во строк, когда проблем не возникает, например перед записью результатов проверять в шаблоне кол-во строк и если оно превысило определенный порог, то создавать новый txt привязывать его к списку и в него записывать данные, а старый предварительно перемеименовывать (дописывать дату-время к имени) и перемещать в другую папку, либо просто перемещать в другую папку с уже другим именем, а result.txt очищать.
 
Последнее редактирование:
  • Спасибо
Реакции: ex3maL и Atlas

ex3maL

Client
Регистрация
22.05.2020
Сообщения
359
Благодарностей
268
Баллы
63
Разные списки, есть банально proxy.txt, где 25 строк. Есть result.txt, там да, больше 100 мб. Но зависает обновление одновременно и у proxy.txt и у result.txt. И отвисает тоже одновременно.

Да, так.
Не делай так
Если большие списки то переходи на базы данных
Там обработка милисекунды занимает
Лучше чем годами ждать список на 100+ мб
 
  • Спасибо
Реакции: Atlas

Shogo

Client
Регистрация
07.04.2015
Сообщения
510
Благодарностей
107
Баллы
43
У меня недавно была похожая проблема, список был строк на 50, и подвис не на часы, а на минуты, но конкретном в том шаблоне каждая секунда на счету - и потерял часть денег из за этого.
Проблему временно решил постоянной перепривязкой файла к списку, перед обращением к нему, лаг почти сошел на нет, но это тот ещё костыль.
 
  • Спасибо
Реакции: Atlas

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Получается что шаблон спотыкается о список-монстр и там начинает подвешиваться.
Возможный выход из ситуации - это разбивать result.txt на подсписки (подфайлы), динамически дробить их на конкретное кол-во строк, когда проблем не возникает, например перед записью результатов проверять в шаблоне кол-во строк и если оно превысило определенный порог, то создавать новый txt привязывать его к списку и в него записывать данные, а старый предварительно перемеименовывать (дописывать дату-время к имени) и перемещать в другую папку, либо просто перемещать в другую папку с уже другим именем, а result.txt очищать.
Как вариант, добавил в самом начале экшн "Привязать к файлу" с чекбоксом "Создавать при отсутствии", т.е на выходе при каждом запуске шаблона создается отдельный файл result.txt, конечный вес не более 10 кб. В итоге все равно все списки подвисают.
Окей, подождал, запустил следующий шаблон - получить список созданных файлов result и объединить их в один список. Поставил 50 потоков. И снова, шаб отработал, списки зависли на 15 минут, причем итоговый объеденный result.txt весит меньше 20 мб.
Потом перезапустил ZP и снова запустил шаблон объединяющий все result-ы в один. И в этот раз списки обновились сразу, без задержек. Т.е как будто перезагрузка ZP помогает, но это тоже костыль)
 

Atlas

Client
Регистрация
16.02.2014
Сообщения
131
Благодарностей
8
Баллы
18
Решил проблему созданием 50 файлов result.txt (для 35 потоков). В начале проекта кубик привязки списка result к рандомному файлу result. sergodjan66 выше по сути то же самое предлагал, за что ему спасибо, но мне так проще.
 
  • Спасибо
Реакции: Devostator и Sergodjan

Devostator

Client
Регистрация
17.09.2011
Сообщения
285
Благодарностей
33
Баллы
28
Решил проблему созданием 50 файлов result.txt (для 35 потоков). В начале проекта кубик привязки списка result к рандомному файлу result. sergodjan66 выше по сути то же самое предлагал, за что ему спасибо, но мне так проще.
Не решение проблемы а костыль какой-то.



У меня та же проблема, ~15 шаблонов, задержка записи в списки от 10 минут. Сервак очень шустрый, стабильный аптайм и сервака и зенки, но вот эта вот задержка ппц напрягает. И у меня увы нет варианта пилить каждый список на кучу списков. Это работы на недели.

@Sergodjan

А в чем вообще здесь проблема не знаете?? В индексировании? Оперативки? Или в чем?

Диск NVME с чтением/записью 4k+, оператива 4100 MHZ.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 652
Баллы
113
Не решение проблемы а костыль какой-то.



У меня та же проблема, ~15 шаблонов, задержка записи в списки от 10 минут. Сервак очень шустрый, стабильный аптайм и сервака и зенки, но вот эта вот задержка ппц напрягает. И у меня увы нет варианта пилить каждый список на кучу списков. Это работы на недели.

@Sergodjan

А в чем вообще здесь проблема не знаете?? В индексировании? Оперативки? Или в чем?

Диск NVME с чтением/записью 4k+, оператива 4100 MHZ.
вполне себе решение. Один экшен c# с небольшим куском кода в начале проекта полностью решает проблему
 
  • Спасибо
Реакции: Devostator

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)