Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выключить свою прогу при неактивности юзера? / 23 сообщений из 23, страница 1 из 1
28.03.2003, 09:57
    #32128739
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Привет всем.
Работаю с БД. Нерадивые юзера могут оставить программу работающей и уйти от машины. Хотелось бы закрывать прогу принудительно. Алготитм работы должен быть примерно как у скринсейвера - нет активности (клава-мышь) сколько то времени - корректно гасить прогу. Где то раньше видел про такое, а где не помню. Нужно постоянно сбрасывать таймер по нажатию на клаву или движению мыши. Как?
...
Рейтинг: 0 / 0
28.03.2003, 09:59
    #32128743
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
>Работаю с БД. Нерадивые юзера могут оставить программу работающей и уйти от машины.

Ну если они ничего не делают, то и база значит от них отдыхает. Че заморачиваться? С какой СУБД работаешь.
...
Рейтинг: 0 / 0
28.03.2003, 10:11
    #32128750
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2pkarklin
>Ну если они ничего не делают, то и база значит от них отдыхает.
Ну это ты зря. Ресурсы то все равно заняты у сервера. А если еще и блокировки есть (ну программер не предусмотрел) то вообще беда может быть.
>С какой СУБД работаешь
Оракл. Да это не важно. В Ораклах есть ограничения на неактивность, но хотелось бы это делать на клиенте, т.к. на нем проще корректно все сделать правильно (закомитить или откатить транзакции, формочки позакрывать и т.д.). К тому же планирую это же и на IB применить.
Т.е. нужно какое то "стандартное" решение на все случаи жизни. 8-)
...
Рейтинг: 0 / 0
28.03.2003, 10:15
    #32128753
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
>А если еще и блокировки есть (ну программер не предусмотрел) то вообще беда может быть.

Вот над этим и надо работать. А висящий коннект в режиме sleeping (MS SQL Server) занимает совсем мало ресурсов.
...
Рейтинг: 0 / 0
28.03.2003, 10:26
    #32128763
srf2002
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
ну например в Application.OnIdle таймер врубать минут на 5 и потом закрывать все формы...
...
Рейтинг: 0 / 0
28.03.2003, 10:42
    #32128784
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Ну это ты зря. Ресурсы то все равно заняты у сервера

Это какие такие? Впервые слышу - ничего с БД не делаешь, а ресурсы занимаешь :)

ЗЫ Странные бывают желания - нет бы логику работы с БД пересмотреть, так лучше изврат :)
...
Рейтинг: 0 / 0
28.03.2003, 10:44
    #32128787
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2 srf2002

ну например в Application.OnIdle таймер врубать минут на 5 и потом закрывать все формы...

Эта типа я пошел покурить, а ты все мои открытые формы позакрываешь. Представляешь, куда я тебя пошлю... :-)
...
Рейтинг: 0 / 0
28.03.2003, 10:46
    #32128791
Dikobrazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
srf2002: врубить-то врубишь, а как потом вырубать?

Лучше поставить таймер, прибавляющий каждую секунду единицу к счетчику, и сделать обработку Application.OnMessage (через ApplicationEvents), где при сообщении WM_MOUSEMOVE или WM_KEYDOWN сбрасывать этот счетчик.
Тогда если пользователь забыл о проге и работает с чем-то другим (наверняка это тоже будет нежелательно) тоже будет выходить.
...
Рейтинг: 0 / 0
28.03.2003, 11:00
    #32128809
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2pkarklin
>Вот над этим и надо работать
Всех случаев не предусмотришь.

>Эта типа я пошел покурить, а ты все мои открытые формы позакрываешь.
Это типа если ты куришь пол часа, тогда да. Курение вредно. 8-)
>Представляешь, куда я тебя пошлю... :-)
Я туда тоже посылать умею. 8-)

2tygra
>Это какие такие? Впервые слышу - ничего с БД не делаешь, а ресурсы занимаешь :)
ЗЫ Странные бывают желания - нет бы логику работы с БД пересмотреть, так лучше изврат :)

Ну например память под открытые курсоры. Или это не ресурс?

2Dikobrazz
Вот и я в эту сторону смотрю. Но как то я с такими вещами не очень знаком. Может нарисуешь примерчик-болванку. Буду признателен.
...
Рейтинг: 0 / 0
28.03.2003, 11:02
    #32128816
srf2002
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
человек хотел закрыть формы - пусть закрывает :)
я б его на месте узера тоже прибил за такое.

2 Dikobrazz - понятно что таймер сбрасывать надо, как только узер мышой дернет али клаву ткнет...
...
Рейтинг: 0 / 0
28.03.2003, 11:04
    #32128819
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2 Серега

>Всех случаев не предусмотришь.

Ты прокакие случаи и про какие открытые курсоры , а.

1. Выбрали данные с сервака.
2. Дали пользователю внести изменения.
3. Применили изменения к серваку.

Где тут все случаи и открытые курсоры???
...
Рейтинг: 0 / 0
28.03.2003, 11:19
    #32128841
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2pkarklin
А если ты между 2 и 3 пунктом пошел курить?
...
Рейтинг: 0 / 0
28.03.2003, 11:22
    #32128845
srf2002
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2 Серега - ну и кури на здоровье между 2 и 3 пунктами :)
изменения должны передаваться на сервер в короткой транзакции после нажатия на кнопарь "Сохранить" IMHO...
Так что в этом случае закрытие форм не смертельно
...
Рейтинг: 0 / 0
28.03.2003, 11:39
    #32128873
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
>А если ты между 2 и 3 пунктом пошел курить?

Кури, хоть пока капать с к... не начнет. Ты че, у себя держишь открытые курсоры на серваке, пока пользователь данные редактирует. Их, данные, нужно взять с сервера, закэшировать на клиенте, изменить, и потом одной короткой транзакцией скинуть на сервер.
...
Рейтинг: 0 / 0
28.03.2003, 11:49
    #32128890
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Ну засоветовали насмерть. 8-(
Что вы мне прописные истины глаголите. Знаю я и про транзакции и про многое другое. Но жизнь иногда вносит свои коррективы.
Например. Не всегда можно обновить данные короткой транзакцией. Документ выдается пользователю КОНКРЕТНО НА РЕДАКТИРОВАНИЕ. Т.е. select for update. Ну надо так, по логике работы НАДО. Стороки при этом блокируются. документ может быть не маленький. И если пользователь пошел курить то блокировки остались.
Кроме того. Для КАЖДОГО сеанса Оракл (на сколько я знаю) выделяет память. Я не говорю что у меня затык по этому делу, но хочу обезопасить себя от этого.
Что в этом странного, если я пытаюсь заранее решать возможные проблемы?
...
Рейтинг: 0 / 0
28.03.2003, 11:54
    #32128898
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Документ выдается пользователю КОНКРЕТНО НА РЕДАКТИРОВАНИЕ. Т.е. select for update. Ну надо так, по логике работы НАДО. Стороки при этом блокируются. документ может быть не маленький. И если пользователь пошел курить то блокировки остались.

Это порочная практика. И НАДО здесь не причем. Уходи от пессимистических блокировок на оптимистические. Или реализуйю отслеживание открытых для редактирования документов (у меня так сделано), а не вешай блокировки. В последнем случаи окромя тормозов ничего не получиться.
...
Рейтинг: 0 / 0
28.03.2003, 12:12
    #32128924
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Нда, ну люди и работают - нет бы подумать. Но кого там! Сделаем блокировку большую и страшную и все. А потом будем мучать людей на форуме - как бы так свою же глупость побороть
...
Рейтинг: 0 / 0
04.04.2003, 09:21
    #32133235
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Ну и неделька была!!! 8-(
В инете не был, и уже кажется чего то не хватает. 8-)

2pkarklin
> Или реализуйю отслеживание открытых для редактирования документов (у меня так сделано), а не вешай блокировки. В последнем случаи окромя тормозов ничего не получиться.

Это в твоем случае тормоза будут и ого-го какие. Мои блокировки сделаны на случай, вероятность которого 1:1000000. А твои проверки будут проводиться каждый раз.

2tygra
>А потом будем мучать людей на форуме - как бы так свою же глупость побороть

Не мучайся, и мозг свой уникальный не насилуй. Я что из тебя "советы" - клещами тяну?

А как вы ребята смотрите на проблему безопасности? 20 человек в отделе на 5 "персональных" компов. Все работают с одной программой, но с разными данными, выбор которых зависит от логина. Вот и представьте себе 2 ситуации:
1. Злобный Вася Пупкин зная про это дело, пока pkarklin курит, делает ему гадость в открытой программе и довольный сидит себе и ухмыляется.
2. Плохо информированный Вася Пупкин видя на свободной машине запущеную прогу радуется, что можно съэкономить 30 секунд на загрузке, вводит в систему документ на 1000000$ , а в конце месяца начинает качать права, потому что премию за доблесный труд дали не ему а кирившему pkarklin.

И это только малая часть проблем возникающих в реальной жизни. Жизнь намного сложнее чем прочитанная книжка по БД.

Пока кроме srf2002 и Dikobrazz ничего дельного по сабжу не было. Жаль. 8-(
Но и на том спасибо. 8-)
...
Рейтинг: 0 / 0
04.04.2003, 09:34
    #32133242
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2 Серега

Это в твоем случае тормоза будут и ого-го какие. Мои блокировки сделаны на случай, вероятность которого 1:1000000. А твои проверки будут проводиться каждый раз.

Уважаемый Серега. Все, что я советую в форуме, из опыта работы. В моей системе с документаи работает до 150 человек одновременно, и никаких тормозов. А вот с твоими блокировками - прямой путь к тормозам.

А как вы ребята смотрите на проблему безопасности? 20 человек в отделе на 5 "персональных" компов. Все работают с одной программой, но с разными данными, выбор которых зависит от логина. Вот и представьте себе 2 ситуации:
1. Злобный Вася Пупкин зная про это дело, пока pkarklin курит, делает ему гадость в открытой программе и довольный сидит себе и ухмыляется.
2. Плохо информированный Вася Пупкин видя на свободной машине запущеную прогу радуется, что можно съэкономить 30 секунд на загрузке, вводит в систему документ на 1000000$ , а в конце месяца начинает качать права, потому что премию за доблесный труд дали не ему а кирившему pkarklin.


Ох Серега. И с безопастностью у тебя не так. Нечего пытаться программными средствами решать организационные вопросы. Если я встаю и ухожу с рабочего места (комп у меня персональный) то, не смотря на то, что я доверяю своим коллегам, я всегда блокирую рабочую станцию. Это должно быть в крови, а иначе не о какой безопасности и говорить нечего. А злобных Васей надо учить. Есть у нас компьютерный класс на заводе, куда любой пользователь, имеющий соответствующие права может прийти и поработать над своей задачей в системе (не хватает на всех 250 сашин). Так там жесткие правила. Пришел, залогинился, поработал, вышел из системы. Если замечено, что не вышел, на первый раз предупреждение. В случаи повтора звонок в службу Экономической безопасности. Уже не один юзер получил нагоняй в виде лишения премии. Естественно все это должно быть записано в должностной инструкции, что было за нарушение чего наказывать.
...
Рейтинг: 0 / 0
04.04.2003, 10:44
    #32133332
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2pkarklin
>Все, что я советую в форуме, из опыта работы. В моей системе с документаи работает до 150 человек одновременно, и никаких тормозов
А у меня по твоему опыта нет? И из своего опыта я знаю, что на каждый ... найдется ... с винтом. Я тоже не мальчик и с БД работаю не первый год и юзеров у меня не меньше.

>И с безопастностью у тебя не так.
Пойду щщас вешаться. 8-)

>Нечего пытаться программными средствами решать организационные вопросы. Если я встаю и ухожу с рабочего места (комп у меня персональный) то, не смотря на то, что я доверяю своим коллегам, я всегда блокирую рабочую станцию.

Уж и пытаться не стоит? Если бы я для тебя писал, я бы и не пытался. Я же не говорю что это панацея от всего и вся. Но это поможет РЕАЛЬНО улучшить работу, по крайней мере не навредит - это точно.

>Это должно быть в крови, а иначе не о какой безопасности и говорить нечего. А злобных Васей надо учить>
Ты еще предложи жить дружно или поменять правительство. Мне что, всем прививки в кровь делать. 8-)

Если бы у меня были пролемы с БД, я бы и написал в соответствующий раздел форума. У меня же вполне конкретный вопрос по Делфи , на который я пока не могу найти исчерпывающего ответа самостоятельно.

>В случаи повтора звонок в службу Экономической безопасности>
Ты случаем не в ней работаешь? 8-) Я с тобой по этому вопросу согласен, но шибко уж ты круто, ИМХО.
...
Рейтинг: 0 / 0
04.04.2003, 11:07
    #32133362
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
Серега, Билл Гейтс и его компания уже решили эту проблему: "Рабочий стол" -> "Свойства" -> "Заставка" -> "Защита паролем".
...
Рейтинг: 0 / 0
04.04.2003, 11:18
    #32133374
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
А лучше нанять бабу Клаву, назвать ее Секьюрити и поставить рядом с компьютерами - как кто ушел и оставил программу открытой - шваброй по рукам или по башке.

И дешево, и через месяц все отучатся оставлять работающее приложение.
А то ведт так может далеко зайти - не успел юзер доесть обед до 14.15 - стол переворачивается :)
...
Рейтинг: 0 / 0
04.04.2003, 11:20
    #32133379
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выключить свою прогу при неактивности юзера?
2eNose
> Серега, Билл Гейтс и его компания уже решили эту проблему: "Рабочий стол" -> "Свойства" -> "Заставка" -> "Защита паролем".
Не, не катит. Машины "общественные", хотя и персональными называются. 8-)
Следовательно пароль знают все.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выключить свою прогу при неактивности юзера? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]