Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > КИС Lack & УС Land

Автоматы: решение задач ЕГАИС без участия пользователей для любых учетных систем посредством "УС Лэнд:ЕГАИС"

15.08.2020 1:23


16.05.2020 08:41
plvn24
 
На ночь был запущен Автомат пакетного обновления пула марками регистра №3 по РФУ-2 - HLE 50LRFU80
УСЕга аварийно завершилась Есть возможность узнать последнюю отправленную справку?
16.05.2020 08:55
AndreyZh
 
Цитата:
plvn24 На ночь был запущен Автомат пакетного обновления пула марками регистра №3 по РФУ-2 - HLE 50LRFU80
УСЕга аварийно завершилась Есть возможность узнать последнюю отправленную справку?
А як же? Все отправленные и полученные XML файлы сохраняются в каталоге DATA, в частности по Вашему вопросу - программа создаёт файл QueryRestBCode.xml и затем отправляет его... Был сбой, т.е. предыдущая относительно указанной в QueryRestBCode.xml справка из ListRFU2.TXT была успешно обработана
17.05.2020 06:13
plvn24
 
Может как говорится "дело было не в бабине.." - однако сообщу:

Было три ночных запуска автомата (три ночи)
1. на 50 справок - ОК
2. на 80 справок - аварийное завершение (не скажу сколько отработало, перезаписал xml новым запросом..)
3. на 70 справок - аварийное завершение (после обработки 15 справок, время 00:48)

Вот такая картина маслом в 2 и 3



Запуск на терминальном сервере Windows Server 2008 R2
Доступ к УТМ по OpenVPN (адрес 10.*.*.*)

В течение дня были запросы по 10-20 справок - все ОК
Перезапуска сервера не было, ночью ничего не работает
Ранее УСЕга не использовалась, это "чужая" структура , просто возникла необходимость ей поработать на нескольких точках...
17.05.2020 08:28
AndreyZh
 
Цитата:
plvn24 Может как говорится "дело было не в бабине.." - однако сообщу:

Было три ночных запуска автомата (три ночи)
1. на 50 справок - ОК
2. на 80 справок - аварийное завершение (не скажу сколько отработало, перезаписал xml новым запросом..)
3. на 70 справок - аварийное завершение (после обработки 15 справок, время 00:48)

Вот такая картина маслом в 2 и 3



Запуск на терминальном сервере Windows Server 2008 R2
Доступ к УТМ по OpenVPN (адрес 10.*.*.*)

В течение дня были запросы по 10-20 справок - все ОК
Перезапуска сервера не было, ночью ничего не работает
Ранее УСЕга не использовалась, это "чужая" структура , просто возникла необходимость ей поработать на нескольких точках...
Занимаясь недавно данной работой выявил неприятный нюанс - сообщение 30
Цитата:
Опять натыкаюсь, т.ч. вынужден описать "особенность работы программы"

В последнее время очень много времени и ресурсов компов тратиться на выполнение этих работ для приведения данных в соответствие с новыми требованиями "партии и правительства": https://olegon.ru/showpost.php?p=346787&postcount=302, а так же в работах по закрытию магазинов: https://olegon.ru/showthread.php?t=26006&page=3 … и обнаружилась неприятная особенность программы "УС Лэнд:ЕГАИС" - вероятно при длительном процессе "съедается" память компьютера. Отследил несколько этапов данного процесса:

1. Другие параллельно работающие приложения резко деградируют по скорости;
2. Перестают запускаться другие приложения, в частности становится недоступным удаленный доступ;
3. Вылетает "неизвестная ошибка" Windows - "УСЕга" перестаёт работать... При нажатии в сообщении ok - работа программы продолжается;
4. Если Windows без работающей "УСЕга" побудет в режиме простоя пару часов, то последующие работы происходят без проблем...

Это сильно зависит от OS и объема памяти... На рабочих ПК (Win10, 8/16Gb) и одного клиента (Win10? 8Gb) их не было даже при работе режима 2 суток, но на реальных ПК (1. Win7, 2Gb, 2. Atom, Win7, 1Gb) возникают при непрерывной работе более 1. - 18 часов, а 2. - 10 часов.

Тщательно изучая код не нашел моих косяков в программе, наверное это косяки инструмента разработки - плохая работа с очисткой памятью? Как бы ни было...

рекомендация: не запускать данный режим на более чем 14 часов, а затем либо перезагрузить ПК, либо дать пару часов Windows, что привести свою "память" в порядок, а лишь затем запускать новое задание

P.S. Хотя допускаю, что сжирают память другие приложения, а для ночного запуска автомата памяти практически не остаётся... Было, что после интенсивной работы MSOffice - автомат вылетал через 4 часа после запуска, а в тоже время, на том же ПК была стабильная работа в выходные, когда данный автомат работал с 18:30 - 17:00, затем в 18:00 запускались другие... и повтор по кругу в течении 5 суток. На другом Atom, Win7, 2Gb был вылет, но перед этим весь день делались переоценки, печатались ценники... в тоже время, потом единожды, перезагрузив данный ПК, запустил его на 2 суток и проблем не было...

Правка: AndreyZh, 17.05.2020 08:46
17.05.2020 11:09
OlegON
 
Если проблема проходит с перезапуском приложения, то, скорее всего, дело все же в нем. Однако, способ работы Windows с сетью и способы диагностики подразумевают, что она сервером, в том числе сервером приложений быть не может.
Не могу сейчас вспомнить, как называлась утилита, но был под Windows инструмент, который и запускал приложение, заодно показывая, какие ресурсы открываются и не закрываются.
На что бы я сразу обратил внимание - количество соединений TCP. Рекомендую запустить этот автомат, выключить все параллельно работающее по максимуму, и смотреть netstat, наблюдая за ростом количества соединений и их статусом. Если хотите - пишите, разберем, что и как.

В целом же можно по быстрому смотреть дескрипторы:



или запустить perfmon ("Монитор ресурсов" на скрине выше) и смотреть на закладке Сеть:



подчеркиваю, что тут только установленные соединения, в то время, как винде может поплохеть и от TIME_WAIT, попробуйте в cmd запускать
Код:
netstat -an | more
и сравнивать результаты на протяжении работы автомата в программе.
17.05.2020 17:35
AndreyZh
 
Цитата:
OlegON Если проблема проходит с перезапуском приложения, то, скорее всего, дело все же в нем.
Увы, о чём Павел и написал... Только перезагрузка ПК или от 2 часов простоя перед следующей пачкой РФУ-2... Более того отметил и можно перепроверить - сразу после перезагрузки запустить автомат... и он сможет работать несколько суток, если не фонить другими приложениями на этом ПК. Однако твоя рекомендация весьма полезна, в том числе по наблюдению за сжиранием памяти данного автомата


P.S. Олег, эту рекомендацию так же желательно сделать отдельной темой и дать на неё ссылку. Наверное она полезна для многих?

Правка: AndreyZh, 17.05.2020 19:38
23.05.2020 15:53
AndreyZh
 
Новая возможность программы связана с "нюансом" её работы, когда программа может вылетать при "стечении обстоятельств" при обработке большого списка РФУ-2 с целью обновления остатков регистра №3. Правда описанное предполагает хорошее знание основ программы и управления операционной системой.

Рассмотрим "внутренности" хранения и обработки данных ЕГАИС в БД программе. При запросе остатков склада в конце таблицы My_rests.dbf добавляются новые физические записи - их номера можно увидеть при просмотре справочника склада.

Построение списка РФУ-2 для запроса остатков идет последовательно по данной таблице начиная с последнего номера записи созданного при предыдущем запуске автомата: https://olegon.ru/showpost.php?p=330537&postcount=19 - развитие его описано в нескольких сообщениях. Данный номер хранится в переменной LISTFRFU2 файла настройки hle.cfg

Таким образом, например вы пытаетесь запросить 250 справок, а сбой произошел на 50, как это определить описано чуть выше... Вы можете удалить предыдущие 50 справок из файла ListRFU2.TXT и запустить заново автомат: https://olegon.ru/showthread.php?t=31377 или регулировать построения списка ListRFU2.TXT в новой возможности:

Сейчас автомат можно запустить с новым подпараметром: hle yzLFRU2xxx[/номер стартовой записи или код стартового РФУ-2] тогда программа построит список начиная не сохраненного значения предыдущего запуска, а с указанной Вами позиции. КодРФУ2 с которого нужно начать процесс в формате [TEST-]FB-XXXXXXXXXX

Пример вызова:

HLE 50LRFU80/TEST-FB-000000036837857
HLE 50LRFU80
HLE 50LRFU80/1987

... при описании параметров вызова пробелы лучше не оставлять, а если программа не найдет строку по подпараметру после слэша, то создание файла начнется с сохраненного раннее номера строки my_rests. После обработки автомата сохранится номер последней записи соответствующей последнему РФУ-2 списка ListFRU2.txt

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.