/// <summary> /// Called at the start of the service /// </summary> /// <param name="args"></param> protected override void OnStart(string[] args) { Configure(_dependencyResolver.Resolve <IConfigurationProvider>()); foreach (var listenerConfiguration in _listenerConfigurations) { _actorManager.CreateAndStartListener(listenerConfiguration, _dependencyResolver); } SubscribeToListenerReports(); SubscribeToWorkerReports(); SubscribeToActionRequests(); Task.Run(() => { DoWithTryCatch(ListenerHealthCheck); }); Task.Run(() => { DoWithTryCatch(WorkerHealthCheck); }); //TODO: "composer action" queue, requests for data and instructions on how to behave base.OnStart(args); }