in sdk/Sdk/Tasks/ZipDeploy/ZipDeploymentStatus.cs [42:82]
public async Task<DeployStatus> PollDeploymentStatusAsync(string deploymentUrl, string userName, string password)
{
var deployStatus = DeployStatus.Pending;
var deployStatusText = string.Empty;
var tokenSource = new CancellationTokenSource(TimeSpan.FromMinutes(MaxMinutesToWait));
if (_logMessages)
{
_log.LogMessage(StringMessages.DeploymentStatusPolling);
}
while (!tokenSource.IsCancellationRequested
&& deployStatus != DeployStatus.Success
&& deployStatus != DeployStatus.PartialSuccess
&& deployStatus != DeployStatus.Failed
&& deployStatus != DeployStatus.Conflict
&& deployStatus != DeployStatus.Unknown)
{
try
{
(deployStatus, deployStatusText) = await GetDeploymentStatusAsync(deploymentUrl, userName, password, RetryCount, TimeSpan.FromSeconds(RetryDelaySeconds), tokenSource);
if (_logMessages)
{
var deployStatusName = Enum.GetName(typeof(DeployStatus), deployStatus);
var message = string.IsNullOrEmpty(deployStatusText)
? string.Format(StringMessages.DeploymentStatus, deployStatusName)
: string.Format(StringMessages.DeploymentStatusWithText, deployStatusName, deployStatusText);
_log.LogMessage(message);
}
}
catch (HttpRequestException)
{
return DeployStatus.Unknown;
}
await Task.Delay(TimeSpan.FromSeconds(StatusRefreshDelaySeconds), tokenSource.Token);
}
return deployStatus;
}