A server task has been implemented to have the server restarted everyday at the same time. After the restart, all Qlik Nprinting services restart ok except the scheduler service that is stopped
Services are set in startup type "automatic"
Error message:
Nprinting_scheduler logs shows :
Qlik.NPrinting.Scheduler 18.19.6.0 Qlik.NPrinting.Scheduler.SchedulerWindowsService 20180920T193343.602+02:00 FATAL SRVNPRINTING 0 0 0 0 0 0 0 0 Unable to start Scheduler service. ERROR: System.AggregateException: Une ou plusieurs erreurs se sont produites. ---> System.TimeoutException: The operation requested on PersistentChannel timed out.↓↓ à EasyNetQ.Producer.ClientCommandDispatcherSingleton.Invoke(Action`1 channelAction)↓↓ à EasyNetQ.RabbitAdvancedBus.ExchangeDeclare(String name, String type, Boolean passive, Boolean durable, Boolean autoDelete, Boolean internal, String alternateExchange, Boolean delayed)↓↓ à Qlik.NPrinting.Common.Messages.RabbitTopologyBase.InternalPrepareQueue(String exchangeName, String queueName, Boolean useHashAsRoutingKey, Boolean queueDurability, Nullable`1 maxPriority, IExchange& exchange, String& routingKey) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\RabbitTopologyBase.cs:ligne 88↓↓ à Qlik.NPrinting.Common.Messages.ContentResolutionRabbitTopology.PrepareEngineStatusQueue(IExchange& engineExchange) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\ContentResolutionRabbitTopology.cs:ligne 53↓↓ à Qlik.NPrinting.Common.Messages.ContentResolutionRabbitTopology.RegisterSchedulerForAllocationStatus(Action`2 allocationStatusMessageProcessor) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\ContentResolutionRabbitTopology.cs:ligne 123↓↓ à Qlik.NPrinting.Scheduler.Service.LoadBalancer.Start() dans c:\Jws\release-v18.19.x\server\NPrinting\src\Scheduler\Service\LoadBalancer.cs:ligne 171↓↓ à Autofac.ContainerBuilder.StartStartableComponents(IComponentContext componentContext)↓↓ à Autofac.ContainerBuilder.Build(ContainerBuildOptions options)↓↓ à Qlik.NPrinting.Scheduler.SchedulerHttpService.Start(String[] args) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Scheduler\SchedulerHttpService.cs:ligne 147↓↓ à System.Threading.Tasks.Task.Execute()↓↓ --- Fin de la trace de la pile d'exception interne ---↓↓---> (Exception interne #0) System.TimeoutException: The operation requested on PersistentChannel timed out.↓↓ à EasyNetQ.Producer.ClientCommandDispatcherSingleton.Invoke(Action`1 channelAction)↓↓ à EasyNetQ.RabbitAdvancedBus.ExchangeDeclare(String name, String type, Boolean passive, Boolean durable, Boolean autoDelete, Boolean internal, String alternateExchange, Boolean delayed)↓↓ à Qlik.NPrinting.Common.Messages.RabbitTopologyBase.InternalPrepareQueue(String exchangeName, String queueName, Boolean useHashAsRoutingKey, Boolean queueDurability, Nullable`1 maxPriority, IExchange& exchange, String& routingKey) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\RabbitTopologyBase.cs:ligne 88↓↓ à Qlik.NPrinting.Common.Messages.ContentResolutionRabbitTopology.PrepareEngineStatusQueue(IExchange& engineExchange) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\ContentResolutionRabbitTopology.cs:ligne 53↓↓ à Qlik.NPrinting.Common.Messages.ContentResolutionRabbitTopology.RegisterSchedulerForAllocationStatus(Action`2 allocationStatusMessageProcessor) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Common\Messages\ContentResolutionRabbitTopology.cs:ligne 123↓↓ à Qlik.NPrinting.Scheduler.Service.LoadBalancer.Start() dans c:\Jws\release-v18.19.x\server\NPrinting\src\Scheduler\Service\LoadBalancer.cs:ligne 171↓↓ à Autofac.ContainerBuilder.StartStartableComponents(IComponentContext componentContext)↓↓ à Autofac.ContainerBuilder.Build(ContainerBuildOptions options)↓↓ à Qlik.NPrinting.Scheduler.SchedulerHttpService.Start(String[] args) dans c:\Jws\release-v18.19.x\server\NPrinting\src\Scheduler\SchedulerHttpService.cs:ligne 147↓↓ à System.Threading.Tasks.Task.Execute()<---
Environments:
Qlik Nprinting June 2018
Service has taken too long to start.
Solution: Set services to startup type "automatic (delayed start)"
The service starting delay can be manually adjusted if needed. To do this, The registry keys of interest (at least in some versions of windows) are:
HKLM\SYSTEM\CurrentControlSet\services\<service name>\DelayedAutostart
If delayed it will have the value 1, 0 if not.
HKLM\SYSTEM\CurrentControlSet\services\AutoStartDelay
decimal number of seconds to wait, may need to create this one. Applies globally to all Delayed services.