Ejemplo n.º 1
0
        public QueuedJobRecord Enqueue(string message, object parameters, int priority) {

            var queuedJob = new QueuedJobRecord {
                Parameters = JsonConvert.SerializeObject(parameters),
                Message = message,
                CreatedUtc = _clock.UtcNow,
            };

            _messageRepository.Create(queuedJob);

            return queuedJob;
        }
        private void ProcessMessage(QueuedJobRecord job) {

            Logger.Debug("Processing job {0}.", job.Id);

            try {
                var payload = JObject.Parse(job.Parameters);
                var parameters = payload.ToDictionary();

                _eventBus.Notify(job.Message, parameters);

                Logger.Debug("Processed job Id {0}.", job.Id);
            }
            catch (Exception e) {
                Logger.Error(e, "An unexpected error while processing job {0}. Error message: {1}.", job.Id, e);
            }
            finally {
                _jobsQueueManager.Value.Delete(job);
            }
        }
 public void Delete(QueuedJobRecord job) {
     _jobRepository.Delete(job);
 }