AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2009, 09:29   #1  
-=RSV=- is offline
-=RSV=-
Участник
Аватар для -=RSV=-
 
3 / 10 (1) +
Регистрация: 20.12.2007
Адрес: Кемеровская облпсть г. Новокузнецк
Подсчет времени простоя
Доброго времени суток.

Возникла потребность автоматически закрывать сеанс пользователя при неактивности в течении некоторого времени. Под не активностью понимается простой именно системы, например: пользователь может запустить обработку и пойти пить чай, время пока система обрабатывает данные не считается простоем, хоть пользователь при этом не работает ).
Есть ли какие механизмы в Аксапте откуда можно получить данные о простое системы? Подскажите в каком направлении нужно рыть?

Axapta 3.0 SP 2

Заранее спасибо.
Старый 28.10.2009, 09:42   #2  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
сервис/параметры/разное/автоматический выход из системы. форму можно открыть еще: администрирование/пользователи/настройки пользователя

Последний раз редактировалось ice; 28.10.2009 в 09:46.
Старый 28.10.2009, 14:00   #3  
maximka is offline
maximka
Сам.AX
Аватар для maximka
Самостоятельные клиенты AX
 
96 / 24 (1) +++
Регистрация: 26.10.2006
Адрес: Тюмень
Автоматический выход из системы как раз воспринимает время обработки того же отчета как время простоя. Механизм подсчета времени простоя в аксапте ооочень приблизителен. Тут, по-моему, и X++ не спасет...
__________________
ѣ
Старый 28.10.2009, 14:16   #4  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от maximka Посмотреть сообщение
Автоматический выход из системы как раз воспринимает время обработки того же отчета как время простоя. Механизм подсчета времени простоя в аксапте ооочень приблизителен. Тут, по-моему, и X++ не спасет...
проверил, при установке параметра на 2 минуты, запустил отчет и свернул окно, отчет формировался 10 мин, аксапта закрылась только после сформирования

Последний раз редактировалось ice; 28.10.2009 в 14:23.
Старый 28.10.2009, 14:55   #5  
Alexx7 is offline
Alexx7
Сам.AX
Аватар для Alexx7
Самостоятельные клиенты AX
1C
 
305 / 28 (1) +++
Регистрация: 22.07.2009
Цитата:
Сообщение от ice Посмотреть сообщение
проверил, при установке параметра на 2 минуты, запустил отчет и свернул окно, отчет формировался 10 мин, аксапта закрылась только после сформирования
На всякий случай надо было перезапустить АОС и клиента, а после уже эксперементироваь с отчетом.
__________________
Возьми свет!
Старый 28.10.2009, 16:12   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А не связано ли нестабильное поведение счётчика простоя с наличием, а точнее с отсутствием в нужных местах команд StartLengthyOperation и endLengthyOperation?
Старый 28.10.2009, 17:16   #7  
SHiSHok is offline
SHiSHok
Участник
Аватар для SHiSHok
Дети Юза
 
219 / 103 (4) +++++
Регистрация: 28.07.2005
Адрес: Донецк
такая проблема давно у нас уже существует, но объективного метода определять: держит пользователь сессию "бесполезно" и его можно отстрелить, или все таки там что то происходит- так и не нашли (к слову, автоматический выход из системы у нас не работает. ax3sp3).
__________________
--- SHiSHok
Старый 28.10.2009, 17:29   #8  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,732 / 406 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А не связано ли нестабильное поведение счётчика простоя с наличием, а точнее с отсутствием в нужных местах команд StartLengthyOperation и endLengthyOperation?
есть подозрение, что сброс счетчика как то связан с обновлением прогрессбара
Старый 28.10.2009, 20:18   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А не связано ли нестабильное поведение счётчика простоя с наличием, а точнее с отсутствием в нужных местах команд StartLengthyOperation и endLengthyOperation?
Нет, эти методы всего лишь меняют в клиенте курсор с обычного на песочные часики и обратно.
Цитата:
Сообщение от ice Посмотреть сообщение
есть подозрение, что сброс счетчика как то связан с обновлением прогрессбара
  • Время неактивности считается от последнего обмена данными между клиентом и сервером
  • Настройка выхода по таймауту неактивности обрабатывается клиентом в период простоя - грубо говоря, когда стек вызова кода X++ пуст
  • Даже если запустить какую-то длительную операцию на сервере, исходно эта операция стартует на клиент (самые нижние фреймы в стеке вызова), поэтому клиент будет ждать завершения этой операции
Отсюда получаем несколько выводов:
  1. Любой обмен данными между клиентом и сервером приводит к сбросу счетчика времени простоя - в т.ч. обновление градусников при работе кода на сервере, поскольку для обновления данные градусника передаются на клиента
  2. Пока выполняется какой-либо код X++, клиент не будет обрабатывать настройку выхода по таймауту неактивности, в частности, если вы настроили таймаут простоя в 1 минуту, а на сервере полчаса формируется отчет, или обновляются данные, или тупо крутится пустой цикл, и при этом не отображаются никакие градусники, клиент все равно не отвалится по таймауту неактиавности, пока этот код не отработает, не вернет управление на клиента, не отработает клиентская часть кода, и стек вызова не станет пуст - только после этого клиент обработает настройку и отвалится по таймауту неактивности
К слову, даже если вообще не выполняется (вроде бы) никакой код, т.е. клиент реально простаивает, счетчик неактивности все равно периодически сбрасывается. Это связано с тем, что метод Info.watchDog() каждые 15 минут обновляет информацию о времени завершения сессии пользователя, косвенно вызывая обмен данными клиента с сервером (экземпляр Info "живет" на клиенте, а с БД при использовании тонкого клиента работает сервер).
Это все подробно обсуждалось в теме Автоматический выход из системы. Обратите также внимание на обсуждаемый в той теме косяк в работе автозавершения, проявляющийся при создании новой записи.
За это сообщение автора поблагодарили: lev (1), Ivanhoe (1), ice (1), S.Kuskov (1), -=RSV=- (1), Player1 (1), jeky (1), Alexx7 (1).
Старый 05.06.2015, 19:54   #10  
demianimp is offline
demianimp
Участник
 
202 / 104 (4) +++++
Регистрация: 10.10.2013
Всем здравствуйте.

Подскажите как получить время простоя у конкретного пользователя?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка времени выполнения: В NumberSeqReference_Empl_RU (Объект), не найден исполнимый код метода "loadModule" Ksju DAX: Функционал 14 21.10.2009 13:00
Расчет отпуска (суммирован. учет рабочего времени) MNG DAX: Функционал 1 30.11.2005 17:44
Учет времени простоя в системе tolstjak DAX: Администрирование 4 07.10.2005 13:22
Учет рабочего времени Orion DAX: Функционал 1 18.07.2005 16:52
Опрос: сколько времени у Вас закрывается склад? Paul_ST DAX: Администрирование 17 27.04.2005 15:04
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:11.