05.09.2012, 09:37 | #21 |
NavAx
|
Цитата:
Сообщение от f18
речь идет о трудно вычислимом баге, и попытке его поймать. То что это концептуально неправильно ясно, но все равно спасибо за дополнительное целенаведение.
Стоит делема - остановить пользователей из за иногда возникающей проблемы генерирующей по 4,5 млн записей в лог за 240 минут (а на лог еще и умудрились повесить генератор оповещений, да еще и не один пользователь т.е. 4,5 млн * кол-во пользователей, а потом еще и невозможность открыть аксапту при логине пользователей), или, до выяснения, в своем коде, гарантированно без транзакций при возникновении подозрения на бестактное поведение - просто закрывать аксапту. Да, это не красиво, да может быть прощет в архитектуре и лога и поведении системы, но для того что бы работа не остановилась и было время на корректное исправление и приведения системы с break и return - нужно время и ... вот такая заплатка. Статус "Отменено" в строках заказа |
|
05.09.2012, 09:59 | #22 |
Участник
|
|
|
05.09.2012, 11:58 | #23 |
Участник
|
во вложении картинка
|
|
05.09.2012, 12:53 | #24 |
Участник
|
Где автозапуск настраивается я знаю. Я говорю о том, что если срубить приложение которое было запущено подобным образом, терминальная сессия не закрывается.
|
|
05.09.2012, 13:00 | #25 |
Участник
|
у меня закрывается ..., уже на 2 х проектах, на разных "терминалах", под вин ce 5, а мне большего и не нужно. Должно работать и на нормальных виндах ..., щас проверю.
|
|
05.09.2012, 13:09 | #26 |
Участник
|
работает и на вин 2008 р2 сервер.
|
|
05.09.2012, 13:37 | #27 |
Участник
|
Цитата:
Сообщение от raz
А если попытаться найти причину?
Статус "Отменено" в строках заказа Итак что есть ... Есть некая логика Класс TSession - хранит в себе информацию о неком пользователе системы, ссылку на TProcess, ссылку на TFormUpdater TProcess - класс выполняющий некую работу в системе, в зависимости от введенной пользователем информации. TFormUpdater обновляется классом TProcess и его заддача хранить текущие переменные для отображения на экране. Логика создавалась не для форм аксапты, но жизнь такова, что есть формы работающие с этими классами и в аксапте - прикреплены примеры форм. На форме только одно окно (СтрингЭдит) для ввода информации. Задачи этого контролла - после нажатия пользователем энтера передать эту информацию в TSession (допустим метод ВВОД) , очистится и перечитать в свои объекты на форме состояние измененного TFormUpdater. TSession вызывает метод ВВОД класса TProcess. В TProcess.ВВОД стоит try catch и если происходит исключительное состояние - запонить инфолог в некий лог, что бы пользователь мог его прочитать. Теперь форма в аксапте. СтрингЭдит - исходя из задач кот перед ним стоят - реализован в виде эдит метода с кодом (набираю руками - могу ошибится) X++: edit str (boolean _set, str _value) { if (set) { TSession.(_value); } return ""; } Как вариант - пользователь ввел какое-то значение в СтрингЭдит, нажал на форме эскейп, форма спросила - Я Изменилась, сохранить незаписаннные данные - а пользователь нажал - сохранить ... Возможные направления исправления ошибки - отказаться от эдит метода и отрабатывать просто модифай + попросить форму не заадавать вопроса, но здесь сложнее, обработка многошаговая, есть шаги когда вопрос просто необходимо задавать. Трай в эдит методе не могу делать - большая обработка инфолога + не факт что такое же можно будет сделать в форме не аксапты. Пока до форм не аксапты не добрались - и ошибку не пофиксили было принято решение пользователям продолжать работать в системе, уведомить что бы все отказывались от всего предлагаемого + жуть-жуть-жжжжжуть. |
|
05.09.2012, 14:29 | #28 |
NavAx
|
Если я правильно понимаю, то лог - это некий доработанный лог, не SysDataBaseLog аксапты, причем это таблица.
Если я прав, то можно настоить журнал базы данных на эту таблицу, и, после повторения проблемы, проанализировать стек вызовов. |
|
05.09.2012, 14:35 | #29 |
Участник
|
да, это Тлог, - отдельная таблица в которой хранится все история введения пользователем данных и реакция системы на эти данные. Плохая реакция - красный крестик, хорошая - зеленая галка.
Спасибо, как раз и настраиваю лог, но ... предположим без этого жжжуткого фикса - он будет писать записи в тлог а еще и в журнал базы данных много-много записей..., поэтому ужасный фикс и анализ. |
|
05.09.2012, 14:47 | #30 |
NavAx
|
Ну жжжуткий фикс наверно стоит оставить, до нахождения причин. Ну и не факт, что стек поможет. Кстати, стек можно и добавить в TLog (если что), а может и еще чего туда писать (значения переменных...) для последующего анализа.
|
|
05.09.2012, 14:51 | #31 |
Участник
|
|
|
08.10.2020, 14:41 | #32 |
Участник
|
|
|
08.10.2020, 15:51 | #33 |
Участник
|
лови некроманта!
|
|