public override void Initialize()
        {
            CommHub.NewClientEvent             += NotifyNewClientEvent;
            CommHub.ClientDisconnectedEvent    += NotifyClientDisconnectedEvent;
            CommHub.NewLogMessageEvent         += NotifyNewLogMessageEvent;
            CommHub.NewClientLogMessageEvent   += NewClientLogMessageEvent;
            CommHub.NewClientErrorMessageEvent += NewclientErrorMessageEvent;
            CommHub.MachineDataReceivedEvent   += (id, data) =>
            {
                var client = ConnectedClients.FirstOrDefault(t => t.ID == id);
                if (client != null)
                {
                    client.ContainerVersion = data.ContainerVersion;
                    client.OperatingSystem  = data.OperatingSystem;
                    client.ProcessingUnit   = data.ProcessingUnit;
                    client.MachineName      = data.Name;
                    NotifyClientUpdatedEvent(client);
                }
            };
            CommHub.ClientStatusUpdatedEvent += (id, status) =>
            {
                var client = ConnectedClients.FirstOrDefault(t => t.ID == id);
                if (client != null)
                {
                    client.IsWorking             = status.IsWorking;
                    client.LastEpochDuration     = status.LastEpochDuration;
                    client.CurrentEpoch          = status.CurrentEpoch;
                    client.CurrentWorkParameters = status.CurrentWorkParameters;
                    NotifyClientUpdatedEvent(client);
                }
            };
            CommHub.WorkRequestedEvent             += (os, id) => WorkRequestedEvent?.Invoke(os, id);
            CommHub.TrainingResultsReceivedEvent   += (results, id) => TrainingResultsReceivedEvent?.Invoke(results, id);
            CommHub.PredictionResultsReceivedEvent += (results, id) => PredictionResultsReceivedEvent?.Invoke(results, id);

            NotifyNewLogMessageEvent("Attempting to initialize SignalR listener on port 8080");
            SignalRStartup.Run("http://0.0.0.0:8080/").ContinueWith(itask =>
            {
                NotifyNewLogMessageEvent($"Could not start SignalR listener on port 8080. Are you running the application as admin? Exception: {itask.Exception.Message}");
            }, TaskContinuationOptions.OnlyOnFaulted)
            .ContinueWith(itask =>
            {
                NotifyNewLogMessageEvent($"Started SignalR listener on port 8080");
            }, TaskContinuationOptions.OnlyOnRanToCompletion);

            base.Initialize();
        }
Exemple #2
0
 public void SendTrainingResults(TrainingResultPackage pResults)
 {
     //debug
     NewLogMessageEvent?.Invoke($"Training files received from {this.Context?.ConnectionId} with {pResults.ResultFiles.Sum(t => t.FileData.Length)} bytes in {pResults.ResultFiles.Count} files");
     TrainingResultsReceivedEvent?.Invoke(pResults, this.Context?.ConnectionId);
 }