public void AddWaitingWorker_KnownWorker_ShouldNotAdd() { var service = new Service("service"); var worker = new Worker("W001", new NetMQFrame("W001"), service); service.AddWaitingWorker(worker); service.AddWaitingWorker(worker); Assert.That(service.WaitingWorkers.Count(), Is.EqualTo(1)); Assert.That(service.DoWorkersExist(), Is.True); }
/// <summary> /// adds the worker to the service and the known worker list /// if not already known /// it dispatches pending requests for this service as well /// </summary> private void AddWorker(Worker worker, Service service) { worker.Expiry = DateTime.UtcNow + m_heartbeatExpiry; if (!m_knownWorkers.Contains(worker)) { m_knownWorkers.Add(worker); DebugLog($"added {worker.Id} to known worker."); } service.AddWaitingWorker(worker); DebugLog($"added {worker.Id} to waiting worker in service {service.Name}."); // get pending messages out ServiceDispatch(service, null); }
/// <summary> /// adds the worker to the service and the known worker list /// if not already known /// it dispatches pending requests for this service as well /// </summary> private void AddWorker(Worker worker, Service service) { worker.Expiry = DateTime.UtcNow + m_heartbeatExpiry; if (!m_knownWorkers.Contains(worker)) { m_knownWorkers.Add(worker); DebugLog(string.Format("[BROKER DEBUG] added {0} to known worker.", worker.Id)); } service.AddWaitingWorker(worker); DebugLog(string.Format("[BROKER DEBUG] added {0} to waiting worker in service {1}.", worker.Id, service.Name)); // get pending messages out ServiceDispatch(service, null); }
public void DeleteWorker_KnownWorker_ShouldReturnAddToWaitingAndKnownWorkers() { Worker workerToDelete = null; var service = new Service("service"); for (var i = 0; i < 10; i++) { var id = $"W0{i:N3}"; var worker = new Worker(id, new NetMQFrame(id), service); if (i == 5) workerToDelete = worker; service.AddWaitingWorker(worker); } Assert.That(service.WaitingWorkers.Count(), Is.EqualTo(10)); Assert.That(service.DoWorkersExist(), Is.True); service.DeleteWorker(workerToDelete); Assert.That(service.WaitingWorkers.Count(), Is.EqualTo(9)); }
/// <summary> /// adds the worker to the service and the known worker list /// if not already known /// it dispatches pending requests for this service as well /// </summary> private void AddWorker (Worker worker, Service service) { worker.Expiry = DateTime.UtcNow + m_heartbeatExpiry; if (!m_knownWorkers.Contains (worker)) { m_knownWorkers.Add (worker); DebugLog (string.Format ("added {0} to known worker.", worker.Id)); } service.AddWaitingWorker (worker); DebugLog (string.Format ("added {0} to waiting worker in service {1}.", worker.Id, service.Name)); // get pending messages out ServiceDispatch (service, null); }
public void GetNextWorker_SomeWaitingWorker_ShouldReturnOldestWorkerFirst() { Worker oldestWorker = null; var service = new Service("service"); for (var i = 0; i < 10; i++) { var id = $"W0{i:N3}"; var worker = new Worker(id, new NetMQFrame(id), service); if (i == 0) oldestWorker = worker; service.AddWaitingWorker(worker); } Assert.That(service.GetNextWorker(), Is.EqualTo(oldestWorker)); Assert.That(service.WaitingWorkers.Count(), Is.EqualTo(9)); }
public void DeleteWorker_AllWorker_ShouldEmptyWaitingAndKnown() { var service = new Service("service"); for (var i = 0; i < 10; i++) { var id = $"W0{i:N3}"; var worker = new Worker(id, new NetMQFrame(id), service); service.AddWaitingWorker(worker); service.DeleteWorker(worker); } Assert.That(service.WaitingWorkers, Is.Empty); Assert.That(service.DoWorkersExist(), Is.False); }
public void GetNextWorker_GetAllWaitingWorkers_ShouldReturnEmptyWaitingAndLeaveKnownUnchanged() { var service = new Service("service"); for (var i = 0; i < 10; i++) { var id = $"W0{i:N3}"; var worker = new Worker(id, new NetMQFrame(id), service); service.AddWaitingWorker(worker); service.GetNextWorker(); } Assert.That(service.WaitingWorkers, Is.Empty); Assert.That(service.DoWorkersExist(), Is.True); }