private async Task Listen(bool runOnce) { while (true) { var delay = Task.Delay(_wait); Log.Information("Fetching new tweets"); var mentions = await _twitter.FetchMentionsAsync(_searchQueue.Select(it => it.Tweet.Id)); Log.Information("Found mentions {Length}", mentions.Length); await Task.WhenAll(mentions.Select(ParseTweet)); if (runOnce) { break; } await delay; } }