Exemple #1
0
        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;
            }
        }
Exemple #2
0
 public static Task RunGarbageCollectionAsync(
     [QueueTrigger(Constants.GarbageCollectionQueueName)] RunGarbageCollectionMessage message,
     TextWriter webJobsLogger,
     int dequeueCount,
     CancellationToken cancellationToken)
 {
     return(GarbageCollectionProcessor.RunGarbageCollectionAsync(
                message,
                CreateLogger(webJobsLogger),
                cancellationToken));
 }