Esempio n. 1
0
        public async Task CanQueueAndExecuteMultipleTasksInCorrectOrder()
        {
            int numberOfTasks = 5;

            int[] testValues  = new int[numberOfTasks];
            int[] checkValues = new int[numberOfTasks];

            BackgroundWorkerQueue queue = new BackgroundWorkerQueue();

            for (int i = 0; i < numberOfTasks; i++)
            {
                int valueToSet = i;
                checkValues.SetValue(valueToSet + 1, valueToSet);
                ;
                queue.enqueue(() =>
                {
                    testValues.SetValue(valueToSet + 1, valueToSet);
                });
            }

            await queue.execute();

            for (int k = 0; k < numberOfTasks; k++)
            {
                Assert.AreEqual(checkValues[k], testValues[k]);
            }
        }
Esempio n. 2
0
        public static BackgroundJob Dequeue()
        {
            BackgroundJob result = null;

            BackgroundWorkerQueue.TryDequeue(out result);
            return(result);
        }
Esempio n. 3
0
 public static void AddJobToQueue(BackgroundJob job)
 {
     //Logger.Info("adding job " + job.Event.Description + " to backgorund queue");
     BackgroundWorkerQueue.Enqueue(job);
     MainEvent.Set();
     MainEvent.Reset(); // must call reset right after set, else the next call to WaitOne will not block
 }
 protected BackgroundRequestHandler(IServiceProvider serviceProvider,
                                    BackgroundWorkerQueue backgroundWorkerQueue, IMemoryCache memoryCache)
 {
     _serviceProvider       = serviceProvider;
     _backgroundWorkerQueue = backgroundWorkerQueue;
     _memoryCache           = memoryCache;
 }
Esempio n. 5
0
 public Handler(
     IUserContext userContext,
     IServiceProvider serviceProvider,
     BackgroundWorkerQueue backgroundWorkerQueue,
     IMemoryCache memoryCache) : base(serviceProvider, backgroundWorkerQueue, memoryCache)
 {
     UserId = userContext.UserId;
 }
 public BackgroundWorkerQueueDialog(string title, ProgressBarStyle style = ProgressBarStyle.Blocks)
 {
     InitializeComponent();
     this.Text = title;
     this.progressBar1.MarqueeAnimationSpeed = 30;
     queue = new BackgroundWorkerQueue(this.backgroundWorker1);
     backgroundWorker1.ProgressChanged += BackgroundWorker1_ProgressChanged;
     progressBar1.Maximum = 100;
     progressBar1.Value = 0;
     progressBar1.Style = style;
     backgroundWorker1.RunWorkerCompleted += BackgroundWorker1_RunWorkerCompleted;
 }
Esempio n. 7
0
        public ImportService(BackgroundWorkerQueue backgroundWorkerQueue, IServiceScopeFactory serviceScopeFactory,
                             IDal <ImportLog, ImportLogModel> dalImportLog,
                             IUANodeSetResolverWithProgress cloudLibResolver,
                             ILogger <ImportService> logger,
                             IConfiguration configuration)

        {
            _backgroundWorkerQueue = backgroundWorkerQueue;
            _logger = logger;
            _serviceScopeFactory = serviceScopeFactory;
            _dalImportLog        = dalImportLog;
            _configuration       = configuration;
            _nodeSetResolver     = cloudLibResolver;
        }
Esempio n. 8
0
        public async Task CanQueueAndExecuteTask()
        {
            int testValue = 0;

            BackgroundWorkerQueue queue = new BackgroundWorkerQueue();

            queue.enqueue(() =>
            {
                testValue++;
            });

            await queue.execute();

            Assert.AreEqual(1, testValue);
        }
Esempio n. 9
0
        public async Task CanQueueAndExecuteMultipleTasks()
        {
            int testValue               = 0;
            int numberOfTasks           = 5;
            BackgroundWorkerQueue queue = new BackgroundWorkerQueue();

            for (int i = 0; i < numberOfTasks; i++)
            {
                queue.enqueue(() =>
                {
                    testValue++;
                });
            }

            await queue.execute();

            Assert.AreEqual(numberOfTasks, testValue);
        }
Esempio n. 10
0
 public LongRunningService(BackgroundWorkerQueue queue)
 {
     _queue = queue;
 }