public void Enqueue(SessionWrapper session, string queue, string jobId) { var converter = StringToInt32Converter.Convert(jobId); if (!converter.Valid) { return; } session.Insert(new _JobQueue { Job = session.Query <_Job>().SingleOrDefault(i => i.Id == converter.Value), Queue = queue }); session.Flush(); Logger.InfoFormat("Enqueued JobId={0} Queue={1}", jobId, queue); }
public JobDetailsDto JobDetails(string jobId) { var converter = StringToInt32Converter.Convert(jobId); if (!converter.Valid) { return(null); } return(_storage.UseStatelessTransaction(session => { var job = session.Query <_Job>().SingleOrDefault(i => i.Id == converter.Value); if (job == null) { return null; } var parameters = job.Parameters.ToDictionary(x => x.Name, x => x.Value); var history = job.History.OrderByDescending(i => i.Id) .Select(jobState => new StateHistoryDto { StateName = jobState.Name, CreatedAt = jobState.CreatedAt, Reason = jobState.Reason, Data = new Dictionary <string, string>( SerializationHelper.Deserialize <Dictionary <string, string> >(jobState.Data), StringComparer.OrdinalIgnoreCase) }) .ToList(); return new JobDetailsDto { CreatedAt = job.CreatedAt, ExpireAt = job.ExpireAt, Job = DeserializeJob(job.InvocationData, job.Arguments), History = history, Properties = parameters }; })); }