/// <summary> /// Performs a cache lookup for the process on the worker /// </summary> public virtual Task <(RunnableFromCacheResult, PipResultStatus)> CacheLookupAsync( ProcessRunnablePip runnablePip, PipExecutionState.PipScopeState state, CacheableProcess cacheableProcess) { Contract.Requires(runnablePip.Step == PipExecutionStep.CacheLookup); throw Contract.AssertFailure(I($"CacheLookupAsync is not supported for worker {Name}")); }
/// <inheritdoc /> public override async Task <RunnableFromCacheResult> CacheLookupAsync( ProcessRunnablePip runnablePip, PipExecutionState.PipScopeState state, CacheableProcess cacheableProcess) { using (OnPipExecutionStarted(runnablePip)) { return(await PipExecutor.TryCheckProcessRunnableFromCacheAsync(runnablePip, state, cacheableProcess)); } }
/// <inheritdoc /> public override async Task <(RunnableFromCacheResult, PipResultStatus)> CacheLookupAsync( ProcessRunnablePip runnablePip, PipExecutionState.PipScopeState state, CacheableProcess cacheableProcess) { using (OnPipExecutionStarted(runnablePip)) { var cacheResult = await PipExecutor.TryCheckProcessRunnableFromCacheAsync(runnablePip, state, cacheableProcess); return(ValueTuple.Create(cacheResult, cacheResult == null ? PipResultStatus.Failed : PipResultStatus.Succeeded)); } }
/// <inheritdoc /> public override async Task <RunnableFromCacheResult> CacheLookupAsync( ProcessRunnablePip runnablePip, PipExecutionState.PipScopeState state, CacheableProcess cacheableProcess) { ExecutionResult result = await ExecutePipRemotely(runnablePip); if (result.Result.IndicatesFailure()) { return(null); } return(PipExecutor.TryConvertToRunnableFromCacheResult( runnablePip.OperationContext, runnablePip.Environment, state, cacheableProcess, result)); }