Пример #1
0
		public StandardTaskWorker (
			TaskProcessingOptions options,
			ITaskBuffer taskBuffer,
			ITaskExecutorRegistry executorRegistry,
			IExecutionPerformanceMonitor performanceMonitor,
			ITaskQueueProducer taskQueueProducer,
			ITaskResultQueue taskResultQueue )
		{
			mOptions = options ??
				throw new ArgumentNullException( nameof( options ) );
			mTaskBuffer = taskBuffer
				?? throw new ArgumentNullException( nameof( taskBuffer ) );
			mExecutorRegistry = executorRegistry
				?? throw new ArgumentNullException( nameof( executorRegistry ) );
			mPerformanceMonitor = performanceMonitor
				?? throw new ArgumentNullException( nameof( performanceMonitor ) );
			mTaskQueueProducer = taskQueueProducer ??
				throw new ArgumentNullException( nameof( taskQueueProducer ) );
			mTaskResultQueue = taskResultQueue ??
				throw new ArgumentNullException( nameof( taskResultQueue ) );
		}
Пример #2
0
        public static async Task ReportExecutionTimeAsync(this IExecutionPerformanceMonitor executionPerformanceMonitor,
                                                          IQueuedTaskToken queuedTaskToken,
                                                          TaskExecutionResult result)
        {
            if (executionPerformanceMonitor == null)
            {
                throw new ArgumentNullException(nameof(executionPerformanceMonitor));
            }

            if (queuedTaskToken == null)
            {
                throw new ArgumentNullException(nameof(queuedTaskToken));
            }

            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            await executionPerformanceMonitor.ReportExecutionTimeAsync(
                queuedTaskToken.DequeuedTask.Type,
                result.ProcessingTimeMilliseconds,
                timeoutMilliseconds : 0);
        }