public bool Equals(RoleType other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return (0 == String.Compare(Moniker, other.Moniker, StringComparison.InvariantCultureIgnoreCase));
 }
 private uint GetWorkingWorkersNumber(RoleType roleType)
 {
     uint workerCounter = 0;
     if (AllWorkerRunners != null)
         foreach (WorkerRunner workerRunner in AllWorkerRunners.Values.Where(workerRunner => workerRunner.WorkAssignment.WorkRequest.RoleType == roleType && workerRunner.IsPresent))
         {
             workerCounter++;
         }
     return workerCounter;
 }
Example #3
0
 public WorkerCard FindWorkerForRole(RoleType roleType)
 {
     return(WorkerCards.FirstOrDefault(workerCard => roleType == workerCard.RoleType));
 }
        /// <summary>
        /// Inits this instance.
        /// </summary>
        /// <remarks></remarks>
        private void Init()
        {
            try
            {
                InputDataPipeReceiveTimeout = new TimeSpan(0, 0, 10);
                PauseSleep = new TimeSpan(0, 0, 0, 10);

                RoleType = new RoleType(Utils.RemoveSuffix(GetType().Name, "Worker"));

                Debug.Assert(WorkerId != null);
                PipelineType = WorkAssignment.WorkRequest.PipelineType;
                PipelineId = WorkAssignment.WorkRequest.PipelineId;
                BootParameters = WorkAssignment.WorkRequest.BootParameters;
                JobParameters = WorkAssignment.WorkRequest.JobParameters;

                ReportPipe = new Pipe(WorkAssignment.WorkRequest.ReportPipeName);
                ReportPipe.Open();

                WorkerStatistics = new WorkerStatistics(WorkAssignment, Environment.MachineName, ReportPipe);

                ReportPipe.Before = WorkerStatistics.PauseNetTime;
                ReportPipe.After = WorkerStatistics.ResumeNetTime;

                SetupInputDataPipe(WorkAssignment.WorkRequest.InputDataPipeName);
                SetupOutputSections(WorkAssignment.WorkRequest.OutputSections);
                SetupLogPipe(WorkAssignment.WorkRequest.LogDataPipeName);

            }
            catch (Exception ex)
            {
                Tracer.Fatal("Unable to initialize worker {0}. Exception: {1}", WorkerId, ex);
                throw;
            }
        }
 public WorkerCard FindWorkerForRole(RoleType roleType)
 {
     return WorkerCards.FirstOrDefault(workerCard => roleType == workerCard.RoleType);
 }