예제 #1
0
        public void Cancel(UnscheduleMe unscheduleMe)
        {
            ThreadPool.QueueUserWorkItem(state =>
                                         WithStoredProcedureCommand(dialect.CancelProcedureName, command =>
            {
                AddParameter(command, dialect.CancellationKeyParameterName, unscheduleMe.CancellationKey, DbType.String);

                command.ExecuteNonQuery();
            })
                                         );
        }
예제 #2
0
        public void CancelFuturePublish(string cancellationKey)
        {
            var uncheduleMeType      = typeof(UnscheduleMe);
            var unscheduleMeExchange = publishExchangeDeclareStrategy.DeclareExchange(advancedBus, uncheduleMeType, ExchangeType.Topic);
            var unscheduleMe         = new UnscheduleMe {
                CancellationKey = cancellationKey
            };
            var easyNetQMessage = new Message <UnscheduleMe>(unscheduleMe)
            {
                Properties =
                {
                    DeliveryMode = messageDeliveryModeStrategy.GetDeliveryMode(uncheduleMeType)
                }
            };

            advancedBus.Publish(unscheduleMeExchange, conventions.TopicNamingConvention(uncheduleMeType), false, easyNetQMessage);
        }
예제 #3
0
        public async Task CancelFuturePublishAsync(string cancellationKey)
        {
            var uncheduleMeType      = typeof(UnscheduleMe);
            var unscheduleMeExchange = await publishExchangeDeclareStrategy.DeclareExchangeAsync(uncheduleMeType, ExchangeType.Topic).ConfigureAwait(false);

            var unscheduleMe = new UnscheduleMe {
                CancellationKey = cancellationKey
            };
            var easyNetQMessage = new Message <UnscheduleMe>(unscheduleMe)
            {
                Properties =
                {
                    DeliveryMode = messageDeliveryModeStrategy.GetDeliveryMode(uncheduleMeType)
                }
            };
            await advancedBus.PublishAsync(unscheduleMeExchange, conventions.TopicNamingConvention(uncheduleMeType), false, easyNetQMessage).ConfigureAwait(false);
        }
예제 #4
0
 public void Cancel(UnscheduleMe unscheduleMe)
 {
     ThreadPool.QueueUserWorkItem(state =>
                                  WithStoredProcedureCommand(dialect.CancelProcedureName, command =>
     {
         try
         {
             AddParameter(command, dialect.CancellationKeyParameterName, unscheduleMe.CancellationKey, DbType.String);
             command.ExecuteNonQuery();
         }
         catch (Exception ex)
         {
             logger.ErrorFormat("ScheduleRepository.Cancel threw an exception {0}", ex);
         }
     })
                                  );
 }
예제 #5
0
        public Task CancelFuturePublishAsync(string cancellationKey)
        {
            var messageType = typeof(UnscheduleMe);

            return(publishExchangeDeclareStrategy.DeclareExchangeAsync(advancedBus, messageType, ExchangeType.Topic).Then(exchange =>
            {
                var unscheduleMe = new UnscheduleMe {
                    CancellationKey = cancellationKey
                };
                var easyNetQMessage = new Message <UnscheduleMe>(unscheduleMe)
                {
                    Properties =
                    {
                        DeliveryMode = messageDeliveryModeStrategy.GetDeliveryMode(messageType)
                    }
                };
                return advancedBus.PublishAsync(exchange, conventions.TopicNamingConvention(messageType), false, false, easyNetQMessage);
            }));
        }
예제 #6
0
 public void OnMessage(UnscheduleMe unscheduleMe)
 {
     log.DebugWrite("Got Unschedule Message");
     scheduleRepository.Cancel(unscheduleMe);
 }
예제 #7
0
 private void OnMessage(UnscheduleMe message)
 {
     log.DebugWrite("Got Unschedule Message");
     scheduleRepository.Cancel(message.CancellationKey);
 }
예제 #8
0
 public void Cancel(UnscheduleMe unscheduleMe)
 {
     throw new NotImplementedException();
 }