Я использую следующий код:
do
{
response = client.GetAsync(jobStatusURI).Result;
if (response.IsSuccessStatusCode)
{
coverageResult = response.Content.ReadAsStringAsync().Result;
if (string.IsNullOrEmpty(coverageResult))
{
int sleepTime = 3000; // Millisecond initialized
System.Threading.Thread.Sleep(sleepTime);
LogAll.LogInfo($"Waiting for job result, sleeping for : {sleepTime}", log);
}
else
return coverageResult;
}
else
{
LogAll.LogError($"Failed to get result", log);
break;
}
} while (string.IsNullOrEmpty(coverageResult));
Если вы видите, я установил время сна как 3000 миллисекунд, но на самом деле оно спит в течение 30 секунд, то есть 30000.Вот журнал
ИНФОРМАЦИЯ 2019-02-28 14:55:12 - Ожидание результата работы, спит: 3000
ИНФО 2019-02-28 14:55:42 - Ожидание результата работы, для сна: 3000
ИНФО 2019-02-28 14:56:12 - Ожидание результата работы, для сна: 3000
ИНФО 2019-02-2814:56:42 - Ожидание результата работы, для сна: 3000
INFO 2019-02-28 14:57:12 - Ожидание результата работы, для сна: 3000
INFO 2019-02-28 14:57:42 - Ожидание результата работы, для сна: 3000
INFO 2019-02-28 14:58:12 - Ожидание результата работы, для сна: 3000
ИНФОРМАЦИЯ 2019-02-28 14:58:42 - Ожидание результата работы, сон для: 3000
ИНФО 2019-02-28 14:59:12 - Ожидание результата работы, сон для: 3000
ИНФОРМАЦИЯ 2019-02-28 14:59:42 - Ожидание результата работы, для сна: 3000