public ChooseWorkerCpu( LoggingContext loggingContext, int maxParallelDegree, IReadOnlyList <Worker> workers, IPipQueue pipQueue, PipGraph pipGraph, FileContentManager fileContentManager) : base(loggingContext, workers, pipQueue, DispatcherKind.ChooseWorkerCpu, maxParallelDegree) { m_pipTable = pipGraph.PipTable; m_executedProcessOutputs = new ContentTrackingSet(pipGraph); m_fileContentManager = fileContentManager; m_pipSetupCostPool = new ObjectPool <PipSetupCosts>(() => new PipSetupCosts(this), costs => costs, size: maxParallelDegree); }
public ChooseWorkerCpu( LoggingContext loggingContext, IConfiguration config, IReadOnlyList <Worker> workers, IPipQueue pipQueue, PipGraph pipGraph, FileContentManager fileContentManager) : base(loggingContext, config, workers, pipQueue, DispatcherKind.ChooseWorkerCpu, config.Schedule.MaxChooseWorkerCpu) { m_pipTable = pipGraph.PipTable; m_executedProcessOutputs = new ContentTrackingSet(pipGraph); m_fileContentManager = fileContentManager; m_pipSetupCostPool = new ObjectPool <PipSetupCosts>(() => new PipSetupCosts(this), costs => costs, size: config.Schedule.MaxChooseWorkerCpu); }
/// <summary> /// In case of a failed build request call after many retries, we reset available hashes /// to make sure that we do not overestimate what the worker contains. /// </summary> protected void ResetAvailableHashes(PipGraph pipGraph) { m_availableHashes = new ContentTrackingSet(pipGraph); }
/// <summary> /// Initializes the worker /// </summary> public virtual void Initialize(PipGraph pipGraph, IExecutionLogTarget executionLogTarget, TaskSourceSlim <bool> schedulerCompletion) { m_availableContent = new ContentTrackingSet(pipGraph); m_availableHashes = new ContentTrackingSet(pipGraph); }
/// <summary> /// Initializes the worker after attach /// </summary> public virtual void Initialize(PipGraph pipGraph, IExecutionLogTarget executionLogTarget) { m_availableContent = new ContentTrackingSet(pipGraph); m_availableHashes = new ContentTrackingSet(pipGraph); }