У меня есть служба Windows, которую я развертываю с помощью осьминогов. Развертывание работает нормально в течение 90% времени. Если я развожу службу рано утром, я получу «Услуга не ответила на запрос запуска или контроля своевременно». ошибка. Если я снова запустил повторное развертывание с Octopus, это сработает.Прерывистая ошибка. Служба не ответила на запрос запуска или управления своевременно.
Я пробовал следующее предложение, найденное в Интернете уже.
Убедитесь, что служба остановлена, изменив сценарий powershell для Octopus. Это приведет к остановке службы, прежде чем перенастроить ее. Мы подозревали, что служба не закрылась правильно.
#ensure that the service was stopped. Stop-Service $ServiceName do { Write-Host "Service not stopped yet...pausing execution for 200 ms" Start-Sleep -Milliseconds 200 } until ((Get-Service $ServiceName).status -eq 'Stopped') & "sc.exe" config $service.Name binPath= $fullPath start= auto |
Увеличьте время ожидания в OnStart метода для службы
protected override void OnStart(string[] args) { _eventLog.WriteEntry(_source, "Starting service...", EventLogEntryType.Information); //adding this to ensure there is enough time to start the service. this.RequestAdditionalTime(60000); new TaskFactory().StartNew(() => Start(_cancellationToken.Token), TaskCreationOptions.LongRunning); IsComplete = true; }
Как я уже говорил, если развернуть службу после ошибки, то он работает. Ошибка возникает только после того, как служба работает в течение некоторого времени, например, не менее 2 часов. Если я разворачиваюсь назад каждые 10 минут, ошибка не отображается сама.
Пожалуйста, помогите