|
|
|
Автоматический перезапуск рабочих процессов на сервере предприятия | ☑ | ||
|---|---|---|---|---|
|
0
Шляпентох
25.03.10
✎
08:08
|
Доброго времени суток.
1С 8.1.15.14, клиент-серверный вариант. SQL Server и сервер приложений установлены на одном сервере. Подскажите, пожалуйста, как сделать так чтобы рабочие процессы (а их 8 штук) автоматически перезапускались? В теме v8: Остановка службы 1С:Предприятие при расчете итогов. я писал, что они у меня и так перезапускаются, но, похоже, сильно ошибался. Последний раз сервер перезапускался 17-го февраля и сейчас два рабочих процесса жрут по 900 МБ, три по 700 МБ и оставшиеся три по 500. На момент запуска сервера каждый из них довольствовался 150-250 МБ. Пока, вроде бы, проблем не видно, но как только SQL Server хочет взять больше памяти, процессы rphost начинают активно свопиться, что меня мало радует.. В консоли, естественно, установленно время перезапуска рабочих процессов.. В моем случае это 24*60*60 = 86 400 секунд. Смотрю в свойствах рабочих процессов - время запуска "17.02 18:45...". Как проверить - перезапускаются они на самом деле или нет? |
|||
|
1
Serg_1960
25.03.10
✎
09:36
|
(нагуглил) http://users.v8.1c.ru/Adm1985.aspx
Настройка кластера:
Если не помогло :) батник в планировщик один раз в сутки ночью: net stop "1C:Enterprise 8.1 Server Agent" taskkill /IM rphost.exe /f net start "1C:Enterprise 8.1 Server Agent" |
|||
|
2
Шляпентох
25.03.10
✎
10:06
|
Спасибо за ответ.
По настройкам так и сделано, только, увы, не помогает. А батником не получится - люди и ночью работают.. Сейчас подумал, что, возможно, пользовательские соединения и мешают перезапуску процессов, но тогда заявленный функционал абсолютно бесполезен, по крайней мере в данном случае. |
|||
|
3
fisher
25.03.10
✎
10:23
|
Гы! А я наоборот - перезапуск не настраивал только потому, что боялся отстрела работающих процессов :)
|
|||
|
4
Vitello
25.03.10
✎
10:43
|
(2)Сейчас подумал, что, возможно, пользовательские соединения и мешают перезапуску процессов,
так ес-но. перезапускается только если подключений нет. |
|||
|
5
Шляпентох
25.03.10
✎
11:16
|
(3) А я надеялся, что есть какой-нибудь механизм передачи соединений между процесаам в пределах одного кластера серверов.. Но (4) меня в этом разубедил.
|
|||
|
6
fisher
25.03.10
✎
11:27
|
(5) 8.2 такое вроде умеет.
|
|||
|
7
ОчкарикСлава
25.03.10
✎
11:31
|
В чем вопрос, всё же реализовано штатно в 8.1
Курите настройки кластера! сервера. Два параметра. Презапускать процессы... Выключенные процессы переостанавливать... |
|||
|
8
ОчкарикСлава
25.03.10
✎
11:33
|
Перезапускать 345600
Останавливать 43200 Всё работает.... |
|||
|
9
Serg_1960
25.03.10
✎
11:45
|
(8) Круглосуточный режим работы пользователей? Если "нет" - свободен :)
|
|||
|
10
strange2007
25.03.10
✎
11:47
|
Руки не доходят автоматизировать перезапуск процессов тоже. Руками делаю по одному "не использовать", после того как все перейдут на другие процессы, перезапускаю его. И так по очереди все перезапускаю. Ни в коем случае не перезапускать процессы с пользователями!!!!!!
Написать автоматизатор пару часов (с перекуром и чаепитиями). Наверное лень P.S. 1С: 8.2 |
|||
|
11
Serg_1960
25.03.10
✎
11:57
|
(0) Попробуй подбором значений "перезапускать" и "останавливать" добиться перезапуска процессов. Установи меньшие значения. Если начнутся ошибки типа "...удаленный хост принудительно разорвал существующее подключение..." - увеличивай значения. И да, кстати: значение "останавливать" устанавливай меньше значения "перезапускать".
|
|||
|
12
Vitello
25.03.10
✎
12:00
|
(11)Сложно это сделать однако :)
Если на тестовой базе - надо будет эмулировать нагрузку Если на рабочей - получишь мизды... |
|||
|
13
Шляпентох
25.03.10
✎
12:43
|
(12) это верно.. за разрывы соединений получу..
Спасибо за ответы. Будем думать (: |
|||
|
14
ОчкарикСлава
25.03.10
✎
13:27
|
(13) она аккуратно предлагает юзеру перезапустить сеанс работы.
Если время сеанса подошло к концу. Что здесь криминального? за что можно получить. вот код: #Если Клиент Тогда НеобходимостьЗавершенияСоединения = НеобходимостьЗавершенияСоединения(); Если НеобходимостьЗавершенияСоединения.НеобходимоЗавершить Тогда ТекстСистемногоСообщения = "Необходимо завершить соединение с сервером с перезапуском сеанса."; ЗаписатьСистемноеСобытие(ТекстСистемногоСообщения, Истина); Если глТекущийПользователь.би_Служебный Тогда ТекстСистемногоСообщения = "Начат процесс автоматического перезапуска системы..."; ЗаписатьСистемноеСобытие(ТекстСистемногоСообщения, Истина); ЗавершитьРаботуСистемы(Ложь, Истина); Иначе Сообщить("Необходимо завершить соединение с сервером с перезапуском сеанса."); Ответ = Вопрос("Администратором сервера 1С:Предприятие или Сервером 1С:Предприятие |установлен режим принудительного перезапуска всех клиентских подключений. |Соединеие будет разорвано." + Символы.ПС + "Сохранить данные и перезапустить программу сейчас?", РежимДиалогаВопрос.ДаНет, 45); Если Ответ = КодВозвратаДиалога.Да Тогда ЗавершитьРаботуСистемы(Истина, Истина); Иначе ТекстСистемногоСообщения = "Пользователь отказался перезапускать систему. Возможна потеря несохраненных данных."; ЗаписатьСистемноеСобытие(ТекстСистемногоСообщения, Истина); КонецЕсли; КонецЕсли; Иначе КонецЕсли; #КонецЕсли в модуле приложения |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |