Ожидание ответа от webapi в фоновом режиме с использованием Hangfire - PullRequest
0 голосов
/ 18 апреля 2019

У меня запущено приложение hangfire. Hangfire отвечает за запуск нескольких различных сервисов API через повторяющиеся задания:

[HttpPost]
public void Post([FromForm] Model value)
{
    var apiUrl = value.ApiUrl; // http://api.com/start/1
    var interval = value.Interval;

    RecurringJob.AddOrUpdate(value.ApiName, () => RunInBackground(apiUrl), Cron.MinuteInterval(value.Interval));
    var api = JobStorage.Current.GetMonitoringApi();
}

[DisableConcurrentExecutionWithParametersAttribute(timeoutInSeconds: 10 * 60)]
[AutomaticRetry(Attempts = 0)]
public async Task<bool> RunInBackground(string Url)
{   
    using (HttpClient httpClient = new HttpClient())
    {
        var response = await httpClient.GetAsync(Url);
        httpClient.DefaultRequestHeaders.Accept.Clear();
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var responseFromApi = await response.Content.ReadAsStringAsync();

        return true;
    }

}

Единственное, чего я хочу добиться, это дождаться ответов от API, прежде чем снова начинать работу. Как я могу это сделать?

...