コード例 #1
0
        private async Task OnMaximumAttemptsExceeded(object source, MessageQueueEventArgs args)
        {
            await UpdateQueuedMessage(args.QueuedMessage, DateTime.UtcNow);

            await DiagnosticService.EmitAsync(
                new SQLEventBuilder(this, DiagnosticEventType.DeadLetter)
            {
                Detail  = "Message abandoned",
                Message = args.QueuedMessage.Message,
                Queue   = QueueName
            }.Build());
        }
コード例 #2
0
        public void Process(object sender, MessageQueueEventArgs e)
        {
#if !SINGLE_THREADED
            _context.MakeCurrent();
#endif

            ShapefileRequest  request   = (ShapefileRequest)e.Message;
            ShapefileRenderer shapefile = new ShapefileRenderer(
                request.Filename, _context, _globeShape, request.Appearance);

#if !SINGLE_THREADED
            Fence fence = Device.CreateFence();
            while (fence.ClientWait(0) == ClientWaitResult.TimeoutExpired)
            {
                Thread.Sleep(10);   // Other work, etc.
            }
#endif

            _doneQueue.Post(shapefile);
        }
コード例 #3
0
 public void ProcessNewShapefile(object sender, MessageQueueEventArgs e)
 {
     _shapefiles.Add((IRenderable)e.Message);
 }
コード例 #4
0
 private Task OnMaximumAttemptsExceeded(object source, MessageQueueEventArgs args)
 {
     return(MoveToDeadLetterDirectory(args.QueuedMessage));
 }
コード例 #5
0
 private Task OnMessageAcknowledged(object source, MessageQueueEventArgs args)
 {
     return(DeleteMessageFile(args.QueuedMessage));
 }
コード例 #6
0
 private Task OnMessageEnqueued(object source, MessageQueueEventArgs args)
 {
     return(CreateMessageFile(args.QueuedMessage));
 }
コード例 #7
0
 private Task OnAcknowledgementFailure(object source, MessageQueueEventArgs args)
 {
     return(UpdateQueuedMessage(args.QueuedMessage, null));
 }
コード例 #8
0
 private Task OnMessageEnqueued(object source, MessageQueueEventArgs args)
 {
     return(InsertQueuedMessage(args.QueuedMessage));
 }
コード例 #9
0
 private Task OnMaximumAttemptsExceeded(object source, MessageQueueEventArgs args)
 {
     return(UpdateQueuedMessage(args.QueuedMessage, DateTime.UtcNow));
 }