Esempio n. 1
0
        public static void QueryQueuedQuestions()
        {
            IList <int> questionIds;

            using (var con = ReadWriteDataContext.PlainConnection())
            {
                questionIds = con.Query <int>(@"
SELECT DISTINCT TOP 100 QuestionID
FROM QueuedQuestionQueries
LEFT JOIN Questions on QueuedQuestionQueries.QuestionId < Questions.Id
WHERE Questions.Id IS NULL
OR Questions.LastUpdated < @fiveMinAgo
", new { fiveMinAgo = DateTime.UtcNow.AddMinutes(-5) })
                              .Distinct().ToList();
                if (questionIds.Count < 100)
                {
                    return;
                }

                if (!StackExchangeAPI.CanExecute())
                {
                    return;
                }

                con.Execute($@"
DELETE FROM QueuedQuestionQueries WHERE QuestionID IN ({string.Join(",", questionIds)})
");
            }
            var questionModels = StackExchangeAPI.GetQuestions(questionIds);

            foreach (var questionModel in questionModels)
            {
                UpsertQuestionInformation(questionModel);
            }
        }
Esempio n. 2
0
 static void Main()
 {
     StackExchangeAPI.GetQuestionVotes(36555152);
     //new Thread(() =>
     //{
     //    Chat.JoinAndWatchRoom(68414);
     //    while (true) Thread.Sleep(1000);
     //}).Start();
 }