Skip to content

Commit 034c51c

Browse files
Refresh Token for BrokerServer (#3167)
1 parent d296014 commit 034c51c

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/Runner.Common/BrokerServer.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ public interface IBrokerServer : IRunnerService
2323
Task<TaskAgentMessage> GetRunnerMessageAsync(Guid? sessionId, TaskAgentStatus status, string version, string os, string architecture, bool disableUpdate, CancellationToken token);
2424

2525
Task UpdateConnectionIfNeeded(Uri serverUri, VssCredentials credentials);
26+
27+
Task ForceRefreshConnection(VssCredentials credentials);
2628
}
2729

2830
public sealed class BrokerServer : RunnerService, IBrokerServer
@@ -83,6 +85,11 @@ public Task UpdateConnectionIfNeeded(Uri serverUri, VssCredentials credentials)
8385
return Task.CompletedTask;
8486
}
8587

88+
public Task ForceRefreshConnection(VssCredentials credentials)
89+
{
90+
return ConnectAsync(_brokerUri, credentials);
91+
}
92+
8693
public bool ShouldRetryException(Exception ex)
8794
{
8895
if (ex is AccessDeniedException ade && ade.ErrorCode == 1)

src/Runner.Listener/MessageListener.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,7 @@ public async Task DeleteMessageAsync(TaskAgentMessage message)
383383
public async Task RefreshListenerTokenAsync(CancellationToken cancellationToken)
384384
{
385385
await _runnerServer.RefreshConnectionAsync(RunnerConnectionType.MessageQueue, TimeSpan.FromSeconds(60));
386+
await _brokerServer.ForceRefreshConnection(_creds);
386387
}
387388

388389
private TaskAgentMessage DecryptMessage(TaskAgentMessage message)

src/Runner.Listener/Runner.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,7 @@ await runServer.GetJobMessageAsync(messageRef.RunnerRequestId,
598598
}
599599
else if (string.Equals(message.MessageType, TaskAgentMessageTypes.ForceTokenRefresh))
600600
{
601+
Trace.Info("Received ForceTokenRefreshMessage");
601602
await _listener.RefreshListenerTokenAsync(messageQueueLoopTokenSource.Token);
602603
}
603604
else

0 commit comments

Comments
 (0)