private void Update(Uri endpointUri, IWorkerAvailable wa) { Add(new Endpoint(endpointUri)); Items[endpointUri].Workers.Update(new Worker(wa.WorkerItemType) { Pending = wa.Pending, InProgress = wa.InProgress, InProgressLimit = wa.InProgressLimit, PendingLimit = wa.PendingLimit, Updated = wa.Updated, ControlUri = wa.ControlUri, DataUri = wa.DataUri }); }
public void Update(IWorkerAvailable wa) { Update(wa.DataUri, wa); Update(wa.ControlUri, wa); var matchMessageType = new Regex(@"MassTransit\.Distributor\.Messages\.WorkerAvailable`\d+\[\[(?<type>.+), (?<assembly>.+)\]\], MassTransit"); Items .Values .Where(x => x.Messages .ToList() .Where(y => y.MessageName.StartsWith("MassTransit.Distributor.Messages.WorkerAvailable`")) .Where(y => matchMessageType.Replace(y.MessageName, "${type}") == wa.WorkerItemType) .Any()) .ToList() .ForEach(x => Update(x.EndpointUri, wa)); }
public void Consume(IWorkerAvailable message) { LocalSubscriptionCache.Endpoints.Update(message); }
public void Consume(IWorkerAvailable message) { }