Пример #1
0
        /// <summary>
        /// Enqueue jobs for background processing
        /// </summary>
        /// <param name="url">url to scan</param>
        /// <returns>Initial scan object before scaning is done</returns>
        public async Task <ScanJob> EnqueueJob(string url)
        {
            var job = new ScanJobEntity();

            job.Id        = Guid.NewGuid();
            job.JobStatus = ScanJobStatus.Pending;
            job.Url       = url;
            var jobData = _mapper.Map <ScanJob>(job);

            _storageManager.AddScanJobs(job);
            _queue.QueueItem(async token =>
            {
                await Process(jobData);
            });
            await Task.Yield(); //Faking await inside async method

            return(jobData);
        }