Esempio n. 1
0
        /*
         * SendTime Handler
         * */
        public void Handle(SendTime message)
        {
            Data.RequestId = message.RequestId;

            TimeoutMessage tmMessage = new TimeoutMessage();

            tmMessage.RequestId = message.RequestId;

            DateTime toSet = (DateTime)setDateTime(message);

            /**
             * Save Email Info
             * */
            Data.emailServer = message.emailServer;
            Data.toAddress   = message.toAddress;
            Data.fromAddress = message.fromAddress;

            /**
             * Save Timer Info
             * */
            Data.HrTxt   = message.HrTxt;
            Data.MinTxt  = message.MinTxt;
            Data.SecTxt  = message.SecTxt;
            Data.AmPmTxt = message.AmPmTxt;


            RequestTimeout(toSet, tmMessage);
            Bus.Send(message);
        }
Esempio n. 2
0
        /*
         * Timeout
         * */
        public void Timeout(TimeoutMessage message)
        {
            /**
             * Retrieve SFTP Info
             * */

            SFTPMessage sftpMessage = new SFTPMessage();

            sftpMessage.sftpServer = Data.sftpServer;
            sftpMessage.fileName   = Data.fileName;
            sftpMessage.username   = Data.username;
            sftpMessage.password   = Data.password;

            /**
             * Get Timer Info
             * */
            SendTime timeMessage = new SendTime();

            timeMessage.AmPmTxt = Data.AmPmTxt;
            timeMessage.HrTxt   = Data.HrTxt;
            timeMessage.MinTxt  = Data.MinTxt;
            timeMessage.SecTxt  = Data.SecTxt;

            /**
             *
             * Reset the Timer
             *
             **/
            TimeoutMessage tmMessage = new TimeoutMessage();
            DateTime       toSet     = (DateTime)setDateTime(timeMessage);

            RequestTimeout(toSet, tmMessage);

            Bus.Send(sftpMessage);
        }
Esempio n. 3
0
        /*
         * SendTime Handler
         * */
        public void Handle(SendTime message)
        {
            Data.RequestId = message.RequestId;

            TimeoutMessage tmMessage = new TimeoutMessage();

            tmMessage.RequestId = message.RequestId;

            DateTime toSet = (DateTime)setDateTime(message);

            /**
             * Save SFTP Info
             * */
            Data.sftpServer = message.sftpServer;
            Data.fileName   = message.fileName;
            Data.username   = message.username;
            Data.password   = message.password;

            /**
             * Save Timer Info
             * */
            Data.HrTxt   = message.HrTxt;
            Data.MinTxt  = message.MinTxt;
            Data.SecTxt  = message.SecTxt;
            Data.AmPmTxt = message.AmPmTxt;


            RequestTimeout(toSet, tmMessage);
            Bus.Send(message);
        }
Esempio n. 4
0
        /*****
         *
         * Return the DateTime of today or tomorrow
         * based on rather it has passed or not
         *
         * ******/
        public DateTime setDateTime(SendTime message)
        {
            DateTime       at        = DateTime.Now;
            TimeoutMessage tmMessage = new TimeoutMessage();

            /*****
            * Calculate AM or PM
            * ***/
            int hours = Convert.ToInt32(message.HrTxt);

            if ((message.AmPmTxt == "AM") && (hours == 12))
            {
                hours = 0;
            }
            else if (((message.AmPmTxt == "PM") && (hours < 12)))
            {
                hours += 12;
            }
            int mins = Convert.ToInt32(message.MinTxt);
            int secs = Convert.ToInt32(message.SecTxt);

            var date = DateTime.Now.Date.Add(new TimeSpan(hours, mins, secs));

            // If date has passed
            if (at > date)
            {
                DateTime tomorrow = DateTime.Now.AddDays(1).Add(new TimeSpan(hours, mins, secs));
                return(tomorrow);
            }
            else
            {
                return(date);
            }
        }
Esempio n. 5
0
        /*
         * Timeout
         * */
        public void Timeout(TimeoutMessage message)
        {
            /**
             * Retrieve Email Info
             * */

            EmailMessage emailMessage = new EmailMessage();

            emailMessage.emailServer = Data.emailServer;
            emailMessage.fromAddress = Data.fromAddress;
            emailMessage.toAddress   = Data.toAddress;

            /**
             * Get Timer Info
             * */
            SendTime timeMessage = new SendTime();

            timeMessage.AmPmTxt = Data.AmPmTxt;
            timeMessage.HrTxt   = Data.HrTxt;
            timeMessage.MinTxt  = Data.MinTxt;
            timeMessage.SecTxt  = Data.SecTxt;

            /**
             *
             * Reset the Timer
             *
             **/
            TimeoutMessage tmMessage = new TimeoutMessage();
            DateTime       toSet     = (DateTime)setDateTime(timeMessage);

            RequestTimeout(toSet, tmMessage);

            Bus.Send(emailMessage);
        }
Esempio n. 6
0
        private void OnMessage(TimeoutMessage message, IDeliveryContext context)
        {
            Console.WriteLine("[Consumer] Received message: {0}", message.JobId);
            Thread.Sleep(8000);
            Console.WriteLine("[Consumer] Processed message: {0}", message.JobId);

            context.Reply(new TimeoutResponse());
        }
Esempio n. 7
0
            public override bool Equals(object obj)
            {
                if (obj.GetType() != this.GetType())
                {
                    return(false);
                }

                ProverTimeout that = ( ProverTimeout )obj;

                return(TimeoutMessage.ToString().Equals(that.TimeoutMessage.ToString()));
            }
Esempio n. 8
0
        public void Start()
        {
            isRunning = true;

            // create a subscription to timeout messages
            // with a custom timeout subscription topology
            var subscription = bus.Subscribe <TimeoutMessage>(
                OnMessageTimeout,
                s => s.SetTopology <TimeoutSubscriptionTopology>());

            // get the name of our subscription queue
            var timeoutSubscriptionQueueName = subscription.Queues[0].Name;

            // this subscription should never be fired
            // create a subscription to timeout messages
            // with a custom timeout subscription topology
            bus.Subscribe <TimeoutMessage>(
                OnMessageTimeoutAlt,
                s => s.SetTopology <TimeoutSubscriptionTopology>());

            // create a standard requester
            using (var requester = bus.CreateRequester <TimeoutMessage, TimeoutResponse>())
            {
                while (isRunning)
                {
                    Console.WriteLine("[Publisher] Publishing new timeout message");

                    // set the routing key on each message to the subscription
                    // queue name, this will route our timeout message to our
                    // timeout subscription
                    var message = new TimeoutMessage
                    {
                        JobId      = Guid.NewGuid().ToString(),
                        RoutingKey = timeoutSubscriptionQueueName
                    };

                    requester.Request(message, OnResponse);
                    Thread.Sleep(3000);
                }
            }
        }
Esempio n. 9
0
        public void InnerPoll(CancellationToken cancellationToken)
        {
            var utcNow = DateTime.UtcNow;

            if (NextQueryUtc > utcNow || cancellationToken.IsCancellationRequested)
            {
                return;
            }

            // connect to the data store and get all the expired timeouts
            TimeoutsBatch timeoutsBatch = _processManagerFinder.GetTimeoutsBatch();

            foreach (var timeoutData in timeoutsBatch.DueTimeouts)
            {
                if (cancellationToken.IsCancellationRequested)
                {
                    return;
                }

                // dispatch the timeout message
                var timeoutMsg = new TimeoutMessage(timeoutData.ProcessManagerId);
                _bus.Send(timeoutData.Destination, timeoutMsg);

                // remove dispatch timeout
                _processManagerFinder.RemoveDispatchedTimeout(timeoutData.Id);
            }

            lock (_locker)
            {
                var nextQueryTime = timeoutsBatch.NextQueryTime;

                // ensure to poll at least every minute
                var maxNextQuery = utcNow.AddMinutes(1);

                NextQueryUtc = (nextQueryTime > maxNextQuery) ? maxNextQuery : nextQueryTime;

                Logger.DebugFormat("Polling next query is at {0}.", NextQueryUtc.ToLocalTime());
            }
        }
Esempio n. 10
0
        public Task Timeout(TimeoutMessage state, IMessageHandlerContext context)
        {
            // Can receive timeouts when saga is actually complete
            if (!Data.Aborting && Data.CurrentIndex == Data.Commands.Length)
            {
                MarkAsComplete();
                return(Task.CompletedTask);
            }
            if (Data.Aborting && Data.CurrentIndex == Data.AbortCommands.Length)
            {
                MarkAsComplete();
                return(Task.CompletedTask);
            }

            if (!Data.Aborting)
            {
                return(Handle(new AbortCommandSaga {
                    SagaId = Data.SagaId
                }, context));
            }

            // a timeout while aborting........
            throw new SagaAbortionFailureException(Data.Originating);
        }
Esempio n. 11
0
 public void OnNetworkTimeoutMessage(TimeoutMessage m)
 {
     this.timeout = m.gameRunning;
 }
Esempio n. 12
0
 public Task Timeout(TimeoutMessage stat, IMessageHandlerContext context)
 {
     Context.ReceivedTimeoutMessage = true;
     return(Task.FromResult(0));
 }
 public void Timeout(TimeoutMessage state)
 {
     logger.Info("--------MySaga Timeout-------");
     Bus.Publish <IRequestExpiredEvent>(x => x.RequestId = Data.RequestId);
     MarkAsComplete();
 }
 public void Timeout(TimeoutMessage state)
 {
     Bus.Publish <IRequestExpiredEvent>(x => x.RequestId = Data.RequestId);
     MarkAsComplete();
 }
Esempio n. 15
0
 private static Task <StepResult <EmailRouteState> > timeoutLogic(StateAccess <EmailRouteState> access, TimeoutMessage tm)
 {
     return(Task.Run(() => StepResult.Cancel <EmailRouteState>()));
 }
Esempio n. 16
0
 private void OnMessageTimeout(TimeoutMessage message)
 {
     Console.WriteLine("[Publisher] MESSAGE TIMEDOUT: {0}", message.JobId);
 }
Esempio n. 17
0
 public void Timeout(TimeoutMessage state)
 {
     Context.ReceivedTimeoutMessage = true;
 }
Esempio n. 18
0
 public override int GetHashCode()
 {
     return(TimeoutMessage.GetHashCode());
 }
Esempio n. 19
0
 private void OnMessageTimeoutAlt(TimeoutMessage message)
 {
     throw new Exception("Other timeout subscriber, should never be called");
 }
 public Task Timeout(TimeoutMessage state, IMessageHandlerContext context)
 {
     MarkAsComplete();
     ManualResetEvent.Set();
     return(Task.FromResult(0));
 }
                public Task Timeout(TimeoutMessage state, IMessageHandlerContext context)
                {
                    testContext.WasCalled = true;

                    return(Task.FromResult(0));
                }