Skip to content
This repository was archived by the owner on Jul 30, 2024. It is now read-only.

Commit 25c3ea3

Browse files
authored
Added configurable batch size for the scan requests dequeuing (#287)
* Added configurable batch size for the scan requests dequeuing * Actually passing the `BatchSize` argument to the job. * Indentation fix. Constant added.
1 parent b75e0da commit 25c3ea3

3 files changed

Lines changed: 7 additions & 2 deletions

File tree

src/NuGet.Jobs.Common/Configuration/JobArgumentNames.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ public static class JobArgumentNames
101101
public const string RunValidationTasks = "RunValidationTasks";
102102
public const string RequestValidationTasks = "RequestValidationTasks";
103103
public const string PackageUrlTemplate = "PackageUrlTemplate";
104+
public const string BatchSize = "BatchSize";
104105

105106
// Arguments specific to VCS validation task
106107
public const string VcsValidatorServiceUrl = "VcsValidatorServiceUrl";

src/Validation.Runner/Job.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@ namespace NuGet.Jobs.Validation.Runner
1919
public class Job
2020
: JobBase
2121
{
22+
private const int DefaultBatchSize = 10;
2223
private readonly List<IValidator> _validators = new List<IValidator>();
2324

2425
private string _galleryBaseAddress;
2526
private CloudStorageAccount _cloudStorageAccount;
2627
private string _containerName;
2728
private string[] _runValidationTasks;
2829
private string[] _requestValidationTasks;
30+
private int _batchSize;
2931

3032
public override void Init(IDictionary<string, string> jobArgsDictionary)
3133
{
@@ -38,6 +40,7 @@ public override void Init(IDictionary<string, string> jobArgsDictionary)
3840

3941
_runValidationTasks = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.RunValidationTasks).Split(';');
4042
_requestValidationTasks = JobConfigurationManager.GetArgument(jobArgsDictionary, JobArgumentNames.RequestValidationTasks).Split(';');
43+
_batchSize = JobConfigurationManager.TryGetIntArgument(jobArgsDictionary, JobArgumentNames.BatchSize) ?? DefaultBatchSize;
4144

4245
// Add validators
4346
if (_runValidationTasks.Contains(VcsValidator.ValidatorName))
@@ -128,7 +131,7 @@ private async Task RunValidationsAsync(IValidator validator)
128131
var notificationService = new NotificationService(_cloudStorageAccount, _containerName);
129132

130133
// Get messages to process
131-
var messages = await packageValidationQueue.DequeueAsync(validator.Name, 16, validator.VisibilityTimeout);
134+
var messages = await packageValidationQueue.DequeueAsync(validator.Name, _batchSize, validator.VisibilityTimeout);
132135
foreach (var message in messages)
133136
{
134137
// Audit entry collection to which our validator can write

src/Validation.Runner/Scripts/Validation.Runner.cmd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ start /w Validation.Runner.exe ^
2323
-verbose true ^
2424
-Interval #{Jobs.validation.Interval} ^
2525
-InstrumentationKey "#{Jobs.validation.ApplicationInsightsInstrumentationKey}" ^
26-
-VcsContactAlias "#{Jobs.validation.NugetVcsContactAlias}"
26+
-VcsContactAlias "#{Jobs.validation.NugetVcsContactAlias}" ^
27+
-BatchSize "#{Jobs.validation.BatchSize}"
2728

2829
echo "Finished #{Jobs.validation.Title}"
2930

0 commit comments

Comments
 (0)