public PipelineSection(string machineName, uint orderNumber, PipelineType pipelineType, string pipelineId, RolePlan rolePlan) { OrderNumber = orderNumber; RoleType = rolePlan.RoleType; Name = rolePlan.Name; OutputSectionNames = rolePlan.OutputSectionNames ?? new List <string>(); HiringPipeName = new HiringPipeName(machineName, pipelineId, Name); using (var hiringPipe = new Pipe(HiringPipeName)) { hiringPipe.Create(); for (uint slotNumber = 0; slotNumber < rolePlan.Slots; slotNumber++) { RoleSlotToken roleSlot = new RoleSlotToken(slotNumber); var envelope = new PipeMessageEnvelope() { Body = roleSlot, Label = "RoleSlot " + slotNumber, }; hiringPipe.Send(envelope); } } if (orderNumber > 0) // HACK - first role is not supposed to have data pipe { DataPipeName = new DataPipeName(machineName, pipelineType, pipelineId, Name); using (var dataPipe = new Pipe(DataPipeName)) { dataPipe.Create(); } } }
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; }
public OutputSection(string name, DataPipeName dataPipeName) { Name = name; DataPipeName = dataPipeName; if (null != DataPipeName) { DataPipe = new Pipe(DataPipeName); DataPipe.Open(); } }
private void SetupLogPipe(DataPipeName logDataPipeName) { if (null == logDataPipeName) { LogPipe = null; return; } LogPipe = new Pipe(logDataPipeName); LogPipe.Open(); LogPipe.Before = WorkerStatistics.PauseNetTime; LogPipe.After = WorkerStatistics.ResumeNetTime; }
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; }
public OutputSection(string name, DataPipeName dataPipeName) { Name = name; DataPipeName = dataPipeName; }
public OutputSection(string name, DataPipeName dataPipeName) { Name = name; DataPipeName = dataPipeName; if (null != DataPipeName) { DataPipe = new Pipe(DataPipeName); DataPipe.Open(); } }
private void SetupLogPipe(DataPipeName logDataPipeName) { if (null == logDataPipeName) { LogPipe = null; return; } LogPipe = new Pipe(logDataPipeName); LogPipe.Open(); LogPipe.Before = WorkerStatistics.PauseNetTime; LogPipe.After = WorkerStatistics.ResumeNetTime; }