Терминальная катапульта

0. 144 30.12.13 13:52 Сейчас в теме
Если Вам надоело снимать зависшие сессии пользователей на терминальном сервере, то мы идем к Вам!
Встречайте:
Самовыбрасывалка из терминала для пользователей !

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. EmpireSer 30.12.13 17:46 Сейчас в теме
А не проще просто на сервере включить убиение сессий по таймауту?
Любой Windows Server такое умеет делать
3. mikmike 5 31.12.13 09:37 Сейчас в теме
(1) EmpireSer, а сколько устанавливать таймаут? сделаешь маленький - будут отключаться нормальные пользователи. Сделаешь большой - долго ждать.
Идея хорошая - надо как-нибудь проверить будет
2. MadDAD 144 31.12.13 08:41 Сейчас в теме
Проще! Но почему-то не помогает.
6. EmpireSer 31.12.13 14:56 Сейчас в теме
(2)
Странно, т.к. у наших многих клиентов именно так и настроено.

(3) mikmike,
Экспериментами получили время около часа, с условием временного падения интернета на 5-30 минут. И "нормальных" пользователей отключать не будет, т.к. Windows RDP посылает команды активности сессии.

P.S. Неудобство возникает при администрировании, так как нельзя запустить какой-то процесс и выйти. Из-за этого сессию нужно оставлять активной.
4. OneS 5 31.12.13 11:03 Сейчас в теме
Только почему катапульта? Скорее экстрактор.
5. MadDAD 144 31.12.13 11:55 Сейчас в теме
(4) OneS, Потому что выпинывает :)
7. DAnry 8 01.01.14 16:29 Сейчас в теме
Я тоже у своих клиентов на сервере включаю таймаут, как правило 50-60 мин. Пока все работало нормально.

8. sorb 01.01.14 20:19 Сейчас в теме
Таймаут не катит, так как многие ставят всякие обработки на вечер. Кроме того, если у пользователя проблема например с принтерами, ему нужно решить проблему прямо сейчас, а не через 60 минут. Мы сделали проще: научили пользователей нажимать ctrl+alt+end, и выбрать выход из системы.
9. OneS 5 02.01.14 09:31 Сейчас в теме
(8) sorb, можно и скриптик с красивой иконкой в виде сапога на рабочем столе.
10. AnryMc 798 02.01.14 11:08 Сейчас в теме
Пару раз сталкивался с "приколами выьрасывания из терминала". Например:

Расчетчица вечером запустила "расчет зарплаты" и пошла домой (расчет идет 4-5 часов). Документ расчитался, после этого прошёл час (таймаут терминала) и сессия была закрыта... Утром Расчётчица добавила ещё одно начисление (премию) и пересчитала зарплату.

Но почему, то "Расчет зарплаты" не пересчитал один налог. Т.е. он увидел новое начисление, всё пересчитал правильно, кроме одного налога - он остался "старым" (без учета премии). Перепроведение документов ничего не дало... Помогла только чистка кеша 1С для данного пользователя...

Бывает, что "убивание" сессии 1С оставляет кеш 1С, который может преподнести очень неприятные СЮРПРИЗЫ...

Поэтому, всётаки, "воспитывать пользователей", чтобы закрывали 1С и сессию...
11. FractonKireyev 02.01.14 12:42 Сейчас в теме
(10) AnryMc,
Да, это реальная проблема. И её решение занимает много времени (судя по описанному Вами примеру, на её решение ушло не меньше одного дня, а скорей всего - для 2-3: перепровели после начисления премии, увидели что есть ошибки, перепровелии и пересчитали ещё раз, опять проанализировали, очистили кеш, пересчитали и перепровели, опять проанализаровали. Как минимум, 3 действия, которые занимают по 4-5 часов плюс ещё несколько по 1-2 часа.

"Воспитывать пользователей", как Вы пишете, это конечно хорошо. Но в данном конкретном случае это не решение проблемы. Здесь очень просится для решения некоторое фоновое задание: перед уходом домой расчётчик запускает фоновое задание расчёта, ЗАКРЫВАЕТ сессию (а вот тут без "воспитания пользователей" никак не обойтись), а на утро получает корректные данные.
12. AnryMc 798 02.01.14 15:52 Сейчас в теме
(11) FractonKireyev,

Мне повезло - была "утренняя" локальная копия которая всё посчитала правильно... А так как с кешем я воюю уже давно (и у многих) - сразу почистил на сервере... Так что в пол дня справился (без учета пересчета на сервере)...
13. FractonKireyev 03.01.14 13:24 Сейчас в теме
(12) AnryMc,

Всё-равно я ОЧЕНЬ советую подумать о переводе таких длительных расчётов в фоновые (регламентные) задания, которые инициирует конечный пользователь. Вплоть даже до того, что ПОЛНОСТЬЮ запретить расчётчику проводить расчёты в своей сессии. Сформировал задание, инициировал расчёт, и пусть ждет, пока всё завершится без его участия.

Плюсы такого подхода:
1. Сессия не занята проведением расчёта и пользователь может заниматься чем-то другим (например, тот-же расчётчик во время фонового расчёта может выписывать какие-то справки - его сессия-то СВОБОДНА).
2. Практически полностью исчезает необходимость чистить кеш (на практике - процентов на 80).

Всё это не зависит от того, в каком режиме работает БД - файловом (в чистом варианте, распределённом по компам или в терминальных сессиях) либо клиент-серверном.

Но вопрос "воспитания пользователя" остаётся актуальным - он должен знать и уметь инициировать задание (хотя, это можно от него и спрятать в одну кнопку); должен знать, как определить завершенность запущенного задания; должен знать в какой момент времени можно открывать и редактировать документ, в который будет записан результат расчёта, чтобы не блокировать от изменения этот документ в самый неподходящий момент (хотя и это можно решить на программном уровне - до тех пор, пока задание не завершится, документ можно открыть только для чтения и нельзя для чтения/записи).
14. AnryMc 798 03.01.14 18:37 Сейчас в теме
(13) FractonKireyev,

База СКУЛевская + терминал...

У предлагаемого Вами подхода
о переводе таких длительных расчётов в фоновые (регламентные) задания, ...
имеет один существенный недостаток - изменение типовой конфигурации
16. w-divin 08.01.14 11:55 Сейчас в теме
(14) AnryMc, неужели это нельзя решить добавлением новых объектов (пара общих модулей, пара подписок на события)?? о_О... и поддержка типовой останется работающей и проблема решается...
15. dock 43 06.01.14 04:08 Сейчас в теме
Всё-равно я ОЧЕНЬ советую подумать о переводе таких длительных расчётов в фоновые (регламентные) задания, которые инициирует конечный пользователь.

А я бы с удовольствием прочитал бы, как это возможно сделать...
Все-равно конфа писана-переписана....
17. w-divin 08.01.14 17:29 Сейчас в теме
По ходу нарисовались несколько вопросов:
1) работает со стендалоун серверами терминалов или умеет работать с фермой? Например при режиме раунд-робин выбора сервера какой адрес давать юзверям?
2) работает только с РДП сеансами или ИСА тоже умеет обрабатывать?
3) работает с серверами в режиме сервера терминалов или сможет работать с серверами в режиме виртульных рабочих столов?
4) с какими серверами совместима? (2003/2008/2008Р2,2012)

в обчем штука ну очень нужная и полезная, но маловато информации для размышления.
18. MadDAD 144 09.01.14 22:10 Сейчас в теме
(17) w-divin, По порядку
1) вообще делалось для отделного сервера, если кто подскажет как закрыть сессию при ферме вручную - возможно удастся адаптировать.
2) В чем принципиальное отличие РДП от ИСА, не разбираюсьт в матчасти :) ? Если на сервере существует сессия пользователя с числовым идентфикатором, под которой запущены какие-то процессы, то закроет.
3) аналогично 2)
4) тестировалось на 2008R2, но думаю начиная с 2003 должно работать.

Фактически это автоматизация запуска Reset session от имени администратора.
19. warlomak 13.03.14 18:18 Сейчас в теме
Не проще написать бантник на терминальном сервере, где прибивать процесс 1c от текущего пользователя? И пользователю ярлык кинуть на рабочий стол, если автоматом не выкинуло, сам запустит? Принудительно вырубать подвисшие сессии после окончания рабочего дня по шедуллеру?
20. MadDAD 144 14.03.14 15:20 Сейчас в теме
(19) warlomak, батник нужно запускать с правами администратора, а разрешать пользователю запускать что-то с правами админа чревато. Запустить из под учетки пользователя не получится потому что сессия не отвечает.

Убиение сессий по шедулеру вариант, но отработает только в конце дня. А если на сервере работают пользователи из разных регионов?

21. MadDAD 144 14.03.14 15:22 Сейчас в теме
В локальной версии добавил в утилиту сброс настроек принтера для 1С - Убиенеие соотвествующей ветки реестра пользователя в ветке 1С, бывает не открывается диалог настроек принтера у пользователя из 1С.
Так же добавил аналогичный механизм сброса настроек окна 1С, бывает портятся настрокий загадочным образом и после этого вклеенное окно 1С не разворачивается.

Если кого-то интересует, могу обновить версию тут.
22. MadDAD 144 06.08.14 10:34 Сейчас в теме
(21) Версия обновлена. Все перечисленные фичи добавлены.
23. MadDAD 144 06.08.14 10:39 Сейчас в теме
(22) В текущей версии для внутреннего пользования добавлен интерфейс редактирования списков пользователей в базах. И возможность самостоятельной смены пароля пользователя в случае если учетки 1С = доменным учеткам. Если кого-нибудь заинтересует обновлю версию тут.
24. MadDAD 144 06.08.14 13:56 Сейчас в теме
Обновленная версия загружена.
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист 1С
Санкт-Петербург
зарплата от 110 000 руб.
Полный день

Программист 1С
Москва
зарплата от 170 000 руб.
Полный день

Программист 1С (Казань)
Казань
зарплата до 130 000 руб.
Полный день

Программист 1С (Новосибирск)
Новосибирск
зарплата до 130 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 180 000 руб.
Полный день