示例#1
0
        public void Build(PipelineBuildOrder pipelineBuildOrder)
        {
            string machineName = Environment.MachineName;

            PipelineType = pipelineBuildOrder.PipelineType;
            PipelineId   = pipelineBuildOrder.PipelineId.ToString(CultureInfo.InvariantCulture);

            ReportPipeName = new ReportPipeName(machineName, PipelineType, PipelineId);
            using (ReportPipe = new Pipe(ReportPipeName))
            {
                ReportPipe.Create();
            }

            uint orderNumber = 0;

            foreach (var rolePlan in pipelineBuildOrder.RolePlans)
            {
                PipelineSection pipelineSection = new PipelineSection(machineName, orderNumber, PipelineType, PipelineId, rolePlan);
                PipelineSections.Add(pipelineSection);

                if (rolePlan.Name == "Log")
                {
                    LogDataPipeName = new DataPipeName(machineName, PipelineType, PipelineId, "Log" /* section name*/);
                }

                orderNumber++;
            }

            PipelineStatus.PipelineState = PipelineState.Built;
        }
示例#2
0
 public WorkRequest(
     string sectionName,
     DataPipeName sourceDataPipeName,
     HiringPipeName hiringPipeName,
     DataPipeName logDataPipeName,
     ReportPipeName reportPipeName,
     RoleType roleType,
     PipelineType pipelineType,
     string pipelineId,
     string bootParameters)
 {
     SectionName       = sectionName;
     InputDataPipeName = sourceDataPipeName;
     HiringPipeName    = hiringPipeName;
     LogDataPipeName   = logDataPipeName;
     ReportPipeName    = reportPipeName;
     PipelineType      = pipelineType;
     PipelineId        = pipelineId;
     RoleType          = roleType;
     BootParameters    = bootParameters;
 }