|
Остановка службы 1С | ☑ | ||
---|---|---|---|---|
0
Stavral
01.09.14
✎
09:07
|
Заметил такую странную штуку: частенько при перезапуске службы агента 1С после остановки она не стазу дает себя запустить. Т.е. нажимаешь "Запустить" - служба повисит активной секунды две и опять отрубится. И так до пяти раз. В чем тут дело? Надо ждать какое-то время, прежде чем пытаться ее запустить?
|
|||
1
DrZombi
гуру
01.09.14
✎
09:10
|
А ты не теребонкай :)
Если ты стартуешь сервак, чего ты так спешишь? Все ровно все кто был отпали тут же :) |
|||
2
zulu_mix
01.09.14
✎
09:12
|
смотри службы от которых зависит сервер 1с. пока они не запустятся - сервер не стартанет
|
|||
3
tdm
01.09.14
✎
09:16
|
(0) стоит только одна версия сервера 1С ? (или несколько 8.1,8.2,8.3)
из памяти все рабочие процессы успевают выгрузиться или вы просто по наитию стоп/старт жмёте ? |
|||
4
tdm
01.09.14
✎
09:17
|
(1) >>А ты не теребонкай :)
+1, =))) |
|||
5
tdm
01.09.14
✎
09:18
|
+ (3) забыл написать - виндовый журнал посмотрите, как минимум событие падения службы и описание должно быть
|
|||
6
John83
01.09.14
✎
11:11
|
(1) на 8.2 не отпадают
|
|||
7
etc
01.09.14
✎
11:14
|
Иногда возможно менеджер кластера подвисает и не сразу стопорится. Поскольку единственный порт занят новый не запускается. Как правило еще и некторые раб. процессы висят.
Это из моих наблюдений. |
|||
8
etc
01.09.14
✎
11:16
|
(1) при нормальном рестарте сесси не отваливаются. Соответственно например если подвис менеджер регл. заданий можно рестартануть службу и никто не заметит. Ну разве что замрет клиент секунд на пять - десять
|
|||
9
ptiz
01.09.14
✎
11:23
|
(0) Запускай только после того, как увидишь в диспетчере задач, что все старые процессы погасились.
|
|||
10
Stavral
01.09.14
✎
14:39
|
(3) Версия стоит одна. Дело в том, что я не могу визуально наблюдать выгрузку процессов, т.к. службу перезапускает скрипт в 5 часов утра. Просто у нас сервера обновляются ночью, машины перезагружаются и служба не стартует сама после этого. Т.ч. скрипт проверяет ее статус и запускает/перезапускает. Но, как видно, не всегда срабатывает, т.к. сегодня утром служба была отключена. Судя по логам скрипта - он ее запустил в 5 утра. Но, видимо, после этого она опять отрубилась.
В общем, как я понял, надо выставить таймаут побольше, чтобы дать службе время до конца остановиться. |
|||
11
13_Mult
01.09.14
✎
15:11
|
(1) + 1 не теребонькать ))
|
|||
12
Chuper_IT
02.09.14
✎
01:14
|
(10) может скрипт покажешь?
|
|||
13
DrZombi
гуру
02.09.14
✎
07:20
|
(6) Как так, куда же они денутся?
|
|||
14
DrZombi
гуру
02.09.14
✎
07:21
|
(8) Сомневаюсь, я в этом успехе. А что будет с теми, кто запускал в этот момент мего отчет на 30 минут? :)
|
|||
15
DrZombi
гуру
02.09.14
✎
07:21
|
(10) Дак у тебя еще все проще, сделай паузу по скрипту на минутку
|
|||
16
DrZombi
гуру
02.09.14
✎
07:22
|
+(15) А то чувство, что ты хочешь как у этого "Без разрывов 2 года, и кайф обламывают" :)
|
|||
17
Stavral
02.09.14
✎
08:54
|
(12) (15)
@Echo Off Set logfile="C:\1C\reStart1C.log" Set ServiceName="1C:Enterprise 8.3 Server Agent (x86-64)" Echo ---->>%logfile% rem checking 1C agent status SC query %ServiceName%|Find /i "RUNNING">nul rem if the service is running - restart it if "%ERRORLEVEL%"=="0" ( echo %serviceName% is running>>%logfile% SC stop %ServiceName%>nul timeout 10 /nobreak>nul SC start %ServiceName%>nul echo %serviceName% restarted at: %date%, %time%>>%logfile% rem if the service is NOT running - start it ) else ( echo %serviceName% is NOT running>>%logfile% SC start %ServiceName%>nul echo %serviceName% started at: %date%, %time%>>%logfile% ) Exit |
|||
18
Stavral
02.09.14
✎
08:55
|
Вчера поставил таймаут на минуту, пока что все хорошо Служба стартанула :)
|
|||
19
ptiz
02.09.14
✎
09:17
|
У нас несколько минут стоит между остановкой и запуском.
|
|||
20
etc
02.09.14
✎
09:28
|
держи мой вариант скрипта (vbs):
Преймущество в том что в нем не жесткий таймаут а ожидание пока остановится служба. stComputer = "localhost" stService = "" stScriptName = wscript.ScriptName ' Соберем параметры командной строки set argn = wscript.arguments.named set arg = wscript.arguments.unnamed if argn.exists("c") then stComputer = argn.item("c") end if if arg.count >= 1 then stService = arg.item(0) else wscript.echo "Использование:" & vbcrlf & _ " " & stScriptName & " /c:<имя компьютера> <имя службы>" & vbcrlf & _ vbcrlf & _ "Если <имя компьютера> не указано то используется localhost." & vbcrlf wscript.quit end if ' Попробуем найти сервис и рестартануть его. ' Если сервис уже был остановлен то просто запустим его set objLocator = CreateObject("WbemScripting.SWbemLocator") set objConn = objLocator.ConnectServer(stComputer,"root\cimv2") on error resume next set svc = objConn.Get("Win32_Service.Name='" & stService & "'") if err.number<>0 then wscript.echo "Служба " & stService & " не найдена на " & stComputer wscript.quit(1) end if on error goto 0 wscript.echo "Перезапуск службы " & stService & " на " & stComputer if svc.Started then svc.StopService() ' ждем пока служба остановится но не более 300 секунд k=1 Do WScript.Sleep 2000 State = objConn.Get("Win32_Service.Name='" & stService & "'").State k=k+1 Loop Until (State="Stopped" or k>150) if State<>"Stopped" then wscript.echo "Не удалось остановить службу " & stService & " на " & stComputer wscript.quit(2) end if end if svc.StartService() WScript.Sleep 5000 ' Проверим запустился ли сервис set svc = objConn.Get("Win32_Service.Name='" & stService & "'") if not svc.Started then wscript.echo "Не удалось запустить службу " & svc.Name & " на " & stComputer wscript.quit(3) end if |
|||
21
Stavral
02.09.14
✎
10:31
|
(20) Спасибо, чуть позже посмотрю =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |