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)); } }); }
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); } }
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; } }); }
protected void Messaged(string message) { LatestReceivedAt = _timeService.UtcNow; _pipelineManager.Enqueue(message); }