Beispiel #1
0
        public IObservable <IRxn> OnAppHeartBeat(IAppStatusManager updates, SystemStatusEvent app, object[] meta)
        {
            var heartBeat = new TestArenaWorkerHeadbeat()
            {
                Route        = RouteExtensions.GetRoute(app),
                Name         = app.SystemName,
                IpAddress    = app.IpAddress,
                Host         = ParseValueFromMetaWithId("Id", meta),
                Workers      = ParseValueFromMetaWithId("Free Workers", meta),
                ComputerName = ParseValueFromMetaWithId("ComputerName", meta),
                UserName     = ParseValueFromMetaWithId("UserName", meta),
                Tags         = ParseValueFromMetaWithId(bfgTagWorkflow.WorkerTag, meta)
            };

            //update info / tags
            var workerInfoUpdate = new WorkerInfoUpdated()
            {
                Name = app.SystemName,
                Info = ToInfo(meta)
            };

            BalanceRemoteWorkersWithCluster(heartBeat, app, meta);

            return(new IRxn[] { heartBeat, workerInfoUpdate }.ToObservableSequence());
        }
Beispiel #2
0
 /// <summary>
 /// Updates apps that connect to the
 /// </summary>
 /// <param name="updates"></param>
 /// <param name="app"></param>
 /// <returns></returns>
 public IObservable <IRxn> OnNewAppDiscovered(IAppStatusManager updates, SystemStatusEvent app, object[] meta)
 {
     return(OnAppHeartBeat(updates, app, meta));
 }