Время простоя пользователя. #181829


#0 by mishaPH
Как определить активность пользователя в данной сессии 1С из самой 1С? Например пользователь откроек сеанс, уйдет и гуляет где-то а на терминале тем самым сожрано 65 метров на сеанс. когда пользовалтелей 60 человек это становится проблемой, т.к. сервер начинает свопится. Увеличить память не представляется возможным по тех причинам. кто как с этим борется?
#1 by dk
ИМХО убрать все лишнее с терминала чтобы не гуляли по терминалу просто так
#2 by mishaPH
что значи гуляли. на терминале только пользователи 1С их сесии. все в одной базе
#3 by SKrin
сбрасывай сеанс по истечении определенного времени
#4 by SKrin
+3 времени бездействия ;)
#5 by mishaPH
тогда 1С будет говорить о некоррекном завершении. кроме того может быть там обработка крутится или отчет
#6 by smaharbA
Можна, для 2003 довольно просто
#7 by mishaPH
и как?
#8 by smaharbA
Определяешь ПроцессИД и для него зыришь переодически типа такого function GetInactiveProcess(PID,cycl,timeout)    on error resume next    OtherOperationCount=0    OtherTransferCount=0        next        if NewOtherOperationCount=OtherOperationCount and NewOtherTransferCount=OtherTransferCount then exit do    loop    wshshell.appactivate(PID)    on error goto 0 end function ... Конечно лучче запустить во внешнем скрипте(это кусок из скрипта для загрузки конфы, определяет окончание активности процесса), переделать не сложно
#9 by mishaPH
А если пользователь ничего не делает а выполняется обработка. Это простой?
#10 by ШтушаКутуша
я бы попробовал поиграться с журналом регистрации
#11 by dk
Думаю можно с журналом оповещений поиграться
#13 by smaharbA
Это в будет "считаться" не простоем, суть там проста проверяется несколько раз подряд с заданной переодичность "общение" процесса с ОС
#14 by smaharbA
Пожалуй самое верное
#15 by skunk
ужас нах... одноэсники как обычно гланды через привычное место вырезают
#16 by mishaPH
и что я там увижу? отбор по пользователю и инфа об открытых формах накакой инфы не даст.
#17 by mishaPH
полезной. по крайне мере об активности это не скажет
#18 by АЛьФ
Я у себя сделал с помощью 1С++ следующим образом: 1. Добавил в глобальном модуле переменную глВремяПростоя 2. В ПриНачалеРаботыСистемы запускаю обработку ожидания: 3. Добавил в глобальник предопределенные процедуры обработки мыши и клавиатуры: КонецПроцедуры 4. И собственно процедура проверки: Пока полет нормальный.
#19 by mishaPH
Альф. Да цены бы небыло 1С++ если бы не те проблемы о которых я тебе говорил :)
#20 by mishaPH
с терминалом
#21 by АЛьФ
2 Напомни...
#22 by mishaPH
Я думаю даже мое руководство профинансировало в разумных пределах доработку если бы убрались данные глюки. Загрузка проца при движении мышки. я просил отключить по умолчанию данную фишку. Кроме того даже если 1С++ загружена просто и не включена раскраска таблиц, при листании справочника визуально наблюдаю замедление смены списка.
#23 by ШтушаКутуша
по внешним обработкам не дается,а так фиксируется любое .открытие/закрытие. хочешь демку вышлю-ничего в конфе дописывать не надо.
#24 by mishaPH
когда пользователей 50 челове. движения мышки и листание справочников и журналов просто вешает НР350 наповал.
#25 by mishaPH
да я так и додумался в принципе сделать. единственный минус. пользователь может активно не работать а выполнять некую обработку или отчет длительностью более заложенного интервала.
#26 by DenLaden
не будет, если в это время эта же база открыта другим пользователем
#27 by mishaPH
зато потом скажет, когда никого не будет.
#28 by wt
Поищи monitor_v_1_1_002_pre. Если немного доработать, то получишь анализ информации по журналу регистрации. Бабушек с его помощью попугал изрядно. Они приходят включают 1с и считают, что работа пошла. А мы отчет, типа сколько доков создал, скоко просто посмотрел, по скоким справочникам полазил. И если там "0", а шум идет, что заняты так, что в туалет некогда сходить, тогда появляется отчет об использовании рабочего времени. Правда теперь хожу с бронежилетом. Заодно выражаю признательность автору обработки.
#29 by АЛьФ
2 Сейчас как раз идут подвижки в эту сторону.
#30 by прролдд
для фуллконтроль осталось только веб-камеру в клозете поставить :)
#31 by smaharbA
АЛьФ ты как мышку отслеживаешь ? хуком ? если да то лучче повесь ее на таймер
#32 by АЛьФ
2 Чем лучше таймер?
#33 by smaharbA
события все подряд не прут и не в "реальном времени"
#34 by smaharbA
+ немного системе "передохнуть" дает
#35 by АЛьФ
2 На мой взгляд это скорее минусы, чем плюсы.
#36 by smaharbA
Обращал внимание когда вешаешь хук на мышь что происходит с производительностью, наглядный тому пример какойнибудь браузер где есть код типа .onmousemove
#37 by ШтушаКутуша
я совсем не знаю API терминалов,может как то задействовать счетчик Idle процесса? Думаю,что это возможно,только я вот не знаю,как... :(
#38 by ШтушаКутуша
+37 в принципе если клиент долгое время не работает с терминалом,то срабатывает тайм-аут самого терминала
#39 by ШтушаКутуша
+38 служба терминала на клиентском компе запущена? вот пожалуй ее и можно попробовать использовать,глянь в журнале "производительность"
#40 by ШтушаКутуша
или допустим,проанализировать потоки,процессы порождаемые на сервере, скажем счетчиком %idle или %активности
#41 by NBU
АЛьф Я сделал как ты рекомендовал в сообщеннии 18, но при загрузке 1с сообщает глСервис = СоздатьОбъект("Сервис"); {Глобальный модуль}: Неудачная попытка создания объекта (Сервис) как быть?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С