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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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