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()); }
private WorkerDiscovered <StartUnitTest, UnitTestResult> GenerateWorker(SystemStatusEvent app, object[] meta, string id) { return(new WorkerDiscovered <StartUnitTest, UnitTestResult>() // 8-| { Worker = new bfgWorkerRxnManagerBridge(_appCmds, _rxnManager, _appUpdates, ToInfo(meta)) { Route = RouteExtensions.GetRoute(app), Name = $"{app.SystemName}_{Guid.NewGuid().ToString().Split('-').FirstOrDefault()}", Ip = app.IpAddress, } }); }