Exemple #1
0
 public JobWorkerManager(IHostConifuration cfg,
                         WebSocketMessageBroadcaster broadcaster,
                         IEnumerable <IJobDescriber> describers,
                         IQueue q)
 {
     _q           = q;
     _cfg         = cfg;
     _broadcaster = broadcaster;
     _describers  = describers;
     _ss          = new SemaphoreSlim(_cfg.Capacity, _cfg.MaxCapacity);
     Workers      = new ConcurrentDictionary <Guid, JobWorker>();
 }
Exemple #2
0
 public ServiceStatics(IEnumerable <IJobDescriber> describers, ConcurrentDictionary <Guid, JobWorker> Workers, IHostConifuration cfg, int available, int qCount)
 {
     this.Capacity    = cfg.Capacity;
     this.MaxCapacity = cfg.MaxCapacity;
     this.Available   = available;
     this.QCount      = qCount;
     this.Jobs        = new List <JobStattics>();
     foreach (var d in describers)
     {
         var js = new JobStattics()
         {
             Describer = d,
             Workers   = Workers.Where(x => x.Value.Describer.Name == d.Name).Select(x => x.Key).ToList()
         };
         this.Jobs.Add(js);
     }
 }