Example #1
0
 public void PushJob(AdvertJob job)
 {
     _channel.BasicPublish(
         exchange: "",
         routingKey: QueueName(job.SourceType),
         basicProperties: null,
         body: Encoding.UTF8.GetBytes(job.Id)
         );
 }
Example #2
0
        public AdvertJobResult Process(AdvertJob job)
        {
            var result = new AdvertJobResult
            {
                Job = job
            };
            var adResponse = _client.GetAsync(_config.GetAdvertDataUrl(job.Id)).Result;

            if (adResponse.IsSuccessStatusCode)
            {
                result.Text = ExtractAdTextFromJsonString(adResponse.Content.ReadAsStringAsync().Result);
            }
            else
            {
                throw new HttpRequestException("Response code: " + adResponse.StatusCode);
            }
            var contactsResponse = _client.GetAsync(_config.GetAdvertContactUrl(job.Id)).Result;

            if (contactsResponse.IsSuccessStatusCode)
            {
                result.Contacts = ExtractAdContactsFromJsonString(contactsResponse.Content.ReadAsStringAsync().Result);
            }
            return(result);
        }
Example #3
0
 private void HandleError(Exception e, AdvertEntry entry, AdvertJob job)
 {
     _logger.LogWarning(new EventId(), $"Grabber {job.SourceType} task {job.Id} failed: {e.Message}");
     entry.RunningJobsCount--;
 }