Exemplo n.º 1
0
        public JobList <EnqueuedJobDto> EnqueuedJobs(string queue, int @from, int perPage)
        {
            var jobQueues = UsingTable <Entities.JobQueue, IEnumerable <Entities.JobQueue> >(
                jQs => jQs
                .InQueue(queue)
                .OrderBy(jQ => jQ.Id)
                .Skip(from)
                .Take(perPage)
                .ToArray());


            var r = new List <KeyValuePair <string, EnqueuedJobDto> >();

            foreach (var jQ in jobQueues)
            {
                var job = UsingTable <Entities.Job, Entities.Job>(jobs => jobs.Single(j => j.Id == jQ.JobId));

                var e = new EnqueuedJobDto()
                {
                    EnqueuedAt =
                        job.IsInState(EnqueuedState.StateName)
                            ? job.GetNullableDateTimeStateDataValue("EnqueuedAt")
                            : null,
                    InEnqueuedState = job.IsInState(EnqueuedState.StateName),
                    Job             = job.ToJobData().Job,
                    State           = job.StateName
                };

                var pair = new KeyValuePair <string, EnqueuedJobDto>(job.Id.ToString(CultureInfo.InvariantCulture), e);
                r.Add(pair);
            }

            return(new JobList <EnqueuedJobDto>(r));
            //return new JobList<EnqueuedJobDto>(new List<KeyValuePair<string, EnqueuedJobDto>>());
        }
Exemplo n.º 2
0
 public JobModel(string key, EnqueuedJobDto job)
 {
     Id = key;
     if (job != null)
     {
         Name = job.Job.Method.Name;
     }
 }