public void Handle()
 {
     _periodicTaskFactory.Create(_settings.TwitterStatusUpdaterInterval, () => {
         var latestDestinyTweetIdFromDb = _unitOfWork.Query(u => u.StateIntegers.LatestDestinyTweetId);
         var formattedStatus            = _twitterManager.LatestTweetFromDestiny(true);
         var formatted = formattedStatus.Item1;
         var status    = formattedStatus.Item2;
         if (latestDestinyTweetIdFromDb != status.Id)
         {
             var messages = formatted.Select(f => new SendablePublicMessage(f)).ToList();
             messages.ForEach(m => _pipelineManager.Enqueue(m));
         }
     });
 }
Esempio n. 2
0
        private void Run(List <IReceived <IUser, ITransmittable> > data, IPipelineManager pipelineManager, TestableSerializer sender)
        {
            Task.Delay(100).Wait();

            data.ForEach(x => {
                Task.Delay(100).Wait();
                pipelineManager.Enqueue(x);
            });

            Task.Delay(100).Wait();
            foreach (var sendable in sender.Outbox)
            {
                Console.WriteLine(sendable);
            }
        }
Esempio n. 3
0
        public void Handle()
        {
            var rng          = new Random();
            var messageCount = _getMessages().Count();
            var i            = rng.Next(messageCount);

            _periodicTaskFactory.Create(_settings.PeriodicMessageInterval, () => {
                _pipelineManager.Enqueue(new SendablePublicMessage(_getMessages().Skip(i).First()));
                i++;
                if (i >= messageCount)
                {
                    i = 0;
                }
            });
        }
Esempio n. 4
0
 protected void Messaged(string message)
 {
     LatestReceivedAt = _timeService.UtcNow;
     _pipelineManager.Enqueue(message);
 }