public async Task RunGarbageCollectionAsync( RunGarbageCollectionMessage message, ILogger logger, CancellationToken cancellationToken) { message.AssertNotNull("message"); logger.AssertNotNull("logger"); var lease = this.blobLeaseFactory.Create(Shared.Constants.LeaseObjectName, cancellationToken); try { if (await lease.TryAcquireLeaseAsync()) { await this.runGarbageCollection.ExecuteAsync(logger, lease, cancellationToken); await lease.UpdateTimestampsAsync(); await lease.ReleaseLeaseAsync(); } } catch (Exception t) { logger.Error(t); throw; } }
public static Task RunGarbageCollectionAsync( [QueueTrigger(Constants.GarbageCollectionQueueName)] RunGarbageCollectionMessage message, TextWriter webJobsLogger, int dequeueCount, CancellationToken cancellationToken) { return(GarbageCollectionProcessor.RunGarbageCollectionAsync( message, CreateLogger(webJobsLogger), cancellationToken)); }