Exemplo n.º 1
0
        private async Task <bool> Poll(PollingSchedule item)
        {
            bool result = false;

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.GetAsync(item.Url);

                    if (response.IsSuccessStatusCode)
                    {
                        result = true;
                    }
                    else
                    {
                        log.LogError($"Poll to {item.Url} failed with response {response.StatusCode}");
                    }
                }
            }
            catch (Exception xe)
            {
                log.LogError(xe, $"Poll to {item.Url} failed");
            }
            return(result);
        }
Exemplo n.º 2
0
 private pollWrapper EnsureWrapped(PollingSchedule item)
 {
     if (!pollingControl.ContainsKey(item.Url))
     {
         var pw = new pollWrapper
         {
             Schedule = CrontabSchedule.Parse(item.Schedule) //,
                                                             //LastRunTime = DateTime.MinValue,
                                                             //NextRunTime = DateTime.MinValue
         };
         pw.NextRunTime = pw.Schedule.GetNextOccurrence(DateTime.Now);
         pollingControl.Add(item.Url, pw);
     }
     return(pollingControl[item.Url]);
 }