![]() |
|
Программное удаление зависших Web сессий? | ☑ | ||
---|---|---|---|---|
0
LLIaMaH
31.10.19
✎
09:39
|
У нас N розниц п 2-4 машины, 2 кассы 1 склад обычно, файловая база и Апачь на одной кассе, остальные через авач ходят. Пишу прогу для обновления конфигурации удаленно, в пакетном режиме конфигуратор обновляется из хранилища, предварительно накладывается блокировка сеансов, все живые отваливаются, гасится Apache "NET stop Apache2.2", тут я надеялся что отваляться и мертвые, но после этого остаются висеть сессии и все мое обновление дальше не идет. Если начать обновляться вручную через конфигуратор, то диалогом о завершении работы пользователе, они отключаются, но мне то нада пакетно. Вопрос, как програмно или какими действиями прибить подобные сессии заранее?
Проблема вроде есть, погуглил решения, нигде толком не нашел ничего. Из решения предлагают выставить все нужные таймауты на миниум. Вот еще думаю програмно килять процес апача "https.exe" или ребутить комп. |
|||
1
LLIaMaH
01.11.19
✎
07:46
|
АП.
|
|||
2
Сияющий в темноте
01.11.19
✎
08:59
|
net stop только дает команду завершения,но нужно дождаться,чтобы она ввполнилась,и не забывать,что эта команда для администратора
пишите службу,которая будет делать то же самое. |
|||
3
LLIaMaH
01.11.19
✎
11:20
|
(2) Тестирование показало, что если взять файловую базу, запустить веб подключение, а потомо убить подключение через Диспетчер задач, то это подключение будет болтается в списке пользователей, остановка сервиса Апача никак не влияет на эти спящие сессии. Если зайти в конфигуратор и обновиться то он предложит отключить этих спящих или действующих Веб-пользователей и успешно отключит их и обновление успешно пройдет, но при пакетном запуске конфигуратора ничего не выходит, конфигуратор падает с сообщением:
Обновление конфигурации из хранилища успешно завершено Обработка структуры базы данных... Динамическое обновление конфигурации БД невозможно: обнаружены клиенты, работающие по HTTP Вот как бы так отключить этих спящих юзеров. |
|||
4
LLIaMaH
01.11.19
✎
11:21
|
Перезагрузка винды вроде помогает, но не хотелось бы чето городить на уделенной машине с перезагрузкой, ХЗ поднимется или нет.
|
|||
5
MM
01.11.19
✎
11:28
|
(2) Ну, вообще-то, есть маленькая хитрость, можно назначить службе права так, что её сможет перезапускать любой (или явно указанный пользователь). Вот только встроенными средствами, через графический интерфейс это не настроить.
|
|||
6
LLIaMaH
01.11.19
✎
11:40
|
(2) я запускаю команду:
КомандаСистемы("Net stop Apache2.2"); Слуюжба Апапча явно останавливается, все его процессы исчезают из диспечера, так что про "taskkill /IM "https.exe" /F" можно не заморачиваться |
|||
7
LLIaMaH
01.11.19
✎
13:24
|
Обнаружил, что если перезапустить службу Апапч руками без запущеного файлового запуска, то веб сессии пропадают, если файловый запуск запущен и пытаться перезапускать командой "КомандаСистемы("Net stop Apache2.2"); " а потом "КомандаСистемы("Net start Apache2.2"); " то сессии остаются висеть.
|
|||
8
ДенисЧ
01.11.19
✎
13:31
|
(7) Цэ нормально. Ибо файловая свои локи накладывает. А апач про них если и знает, то только на посмотреть.
|
|||
9
Garykom
гуру
01.11.19
✎
13:40
|
Создай батник с командами и запусти его на выполнение, не забудь про права от кого будет запущен батник.
По дефолту от имени под которым сервер 1С работает, может в этом трабла. |
|||
10
Garykom
гуру
01.11.19
✎
13:45
|
Ну и проверь "httpd.exe -k restart"
|
|||
11
mikecool
01.11.19
✎
13:49
|
а средствами сервера разве нельзя порубить сеансы?
|
|||
12
mikecool
01.11.19
✎
13:49
|
+11 сервера 1С*
|
|||
13
LLIaMaH
01.11.19
✎
14:11
|
(11) Так 1С не серверная, файловая с апачем сбоку, 1 пользователь на файловой под апачем 2е еще ходят.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |