Beispiel #1
0
        private NumericRangeBlockRequest ConvertToNumericRangeBlockRequest(IBlockSettings settings)
        {
            var request = new NumericRangeBlockRequest();

            request.ApplicationName = _taskExecutionInstance.ApplicationName;
            request.TaskName        = _taskExecutionInstance.TaskName;
            request.TaskExecutionId = _taskExecutionInstance.TaskExecutionId;
            request.TaskDeathMode   = _taskExecutionOptions.TaskDeathMode;

            if (_taskExecutionOptions.TaskDeathMode == TaskDeathMode.KeepAlive)
            {
                request.KeepAliveDeathThreshold = _taskExecutionOptions.KeepAliveDeathThreshold.Value;
            }
            else
            {
                request.OverrideDeathThreshold = _taskExecutionOptions.OverrideThreshold.Value;
            }

            request.RangeBegin = settings.FromNumber;
            request.RangeEnd   = settings.ToNumber;
            request.BlockSize  = settings.MaxBlockNumberRange;
            request.ReprocessReferenceValue = settings.ReferenceValueToReprocess;
            request.ReprocessOption         = settings.ReprocessOption;

            SetConfigurationOverridableSettings(request, settings);

            return(request);
        }
Beispiel #2
0
        private ListBlockRequest ConvertToListBlockRequest(IBlockSettings settings)
        {
            var request = new ListBlockRequest();

            request.ApplicationName = _taskExecutionInstance.ApplicationName;
            request.TaskName        = _taskExecutionInstance.TaskName;
            request.TaskExecutionId = _taskExecutionInstance.TaskExecutionId;
            request.TaskDeathMode   = _taskExecutionOptions.TaskDeathMode;

            if (_taskExecutionOptions.TaskDeathMode == TaskDeathMode.KeepAlive)
            {
                request.KeepAliveDeathThreshold = _taskExecutionOptions.KeepAliveDeathThreshold.Value;
            }
            else
            {
                request.OverrideDeathThreshold = _taskExecutionOptions.OverrideThreshold.Value;
            }

            request.SerializedValues      = settings.Values;
            request.SerializedHeader      = settings.Header;
            request.CompressionThreshold  = _taskConfiguration.MaxLengthForNonCompressedData;
            request.MaxStatusReasonLength = _taskConfiguration.MaxStatusReason;

            request.MaxBlockSize              = settings.MaxBlockSize;
            request.ListUpdateMode            = settings.ListUpdateMode;
            request.UncommittedItemsThreshold = settings.UncommittedItemsThreshold;

            request.ReprocessReferenceValue = settings.ReferenceValueToReprocess;
            request.ReprocessOption         = settings.ReprocessOption;

            SetConfigurationOverridableSettings(request, settings);


            return(request);
        }
Beispiel #3
0
        private void SetConfigurationOverridableSettings(BlockRequest request, IBlockSettings settings)
        {
            if (settings.MustReprocessDeadTasks.HasValue)
            {
                request.ReprocessDeadTasks = settings.MustReprocessDeadTasks.Value;
            }
            else
            {
                request.ReprocessDeadTasks = _taskConfiguration.ReprocessDeadTasks;
            }

            if (settings.MustReprocessFailedTasks.HasValue)
            {
                request.ReprocessFailedTasks = settings.MustReprocessFailedTasks.Value;
            }
            else
            {
                request.ReprocessFailedTasks = _taskConfiguration.ReprocessFailedTasks;
            }

            if (settings.DeadTaskRetryLimit.HasValue)
            {
                request.DeadTaskRetryLimit = settings.DeadTaskRetryLimit.Value;
            }
            else
            {
                request.DeadTaskRetryLimit = _taskConfiguration.DeadTaskRetryLimit;
            }

            if (settings.FailedTaskRetryLimit.HasValue)
            {
                request.FailedTaskRetryLimit = settings.FailedTaskRetryLimit.Value;
            }
            else
            {
                request.FailedTaskRetryLimit = _taskConfiguration.FailedTaskRetryLimit;
            }

            if (request.ReprocessDeadTasks)
            {
                if (settings.DeadTaskDetectionRange.HasValue)
                {
                    request.DeadTaskDetectionRange = settings.DeadTaskDetectionRange.Value;
                }
                else
                {
                    request.DeadTaskDetectionRange = _taskConfiguration.ReprocessDeadTasksDetectionRange;
                }
            }

            if (request.ReprocessFailedTasks)
            {
                if (settings.FailedTaskDetectionRange.HasValue)
                {
                    request.FailedTaskDetectionRange = settings.FailedTaskDetectionRange.Value;
                }
                else
                {
                    request.FailedTaskDetectionRange = _taskConfiguration.ReprocessFailedTasksDetectionRange;
                }
            }

            if (settings.MaximumNumberOfBlocksLimit.HasValue)
            {
                request.MaxBlocks = settings.MaximumNumberOfBlocksLimit.Value;
            }
            else
            {
                request.MaxBlocks = _taskConfiguration.MaxBlocksToGenerate;
            }
        }
Beispiel #4
0
 public static string GetAdditionalClasses(IBlockSettings that) => that.Value <string>("additionalClasses");