private void DoTask(TwitterAction action) { var random = new Random(); //sleep a few random seconds before performing var sleepFor = random.Next(10000, 30000); _logger.InfoFormat("Sleeping for {0}ms", sleepFor); Thread.Sleep(sleepFor); switch (action.ActionType) { case TwitterActionType.Follow: ExecuteWithRetries(() => Follow(action.Id), "Following " + action.Id); break; case TwitterActionType.Retweet: ExecuteWithRetries(() => Retweet(action.Id), "Retweeting " + action.Id); break; } }
private void EnqueueAction(TwitterAction action, string source) { lock (_queue) { _queue.Enqueue(action); _logger.InfoFormat("Enqueued handler {0} {1} (Source {2})", action.ActionType.ToString(), action.Id, source); } }