예제 #1
0
        internal AzureBlobUpdateTask(AzureBlobUpdateMetadata updateMetadata)
        {
            this.updateMetadata = updateMetadata;

            // Register this task with the hosting environment.
            // Allows for a more graceful stop of the task, in the case of IIS shutting down.
            HostingEnvironment.RegisterObject(this);
        }
예제 #2
0
 private void Add(string taskId, AzureBlobUpdateMetadata taskMetadata)
 {
     if (this.taskToMetadata.ContainsKey(taskId))
     {
         // If task already exists, updates it to the new schedule
         this.Cancel(taskId);
     }
     taskMetadata.Scheduler = Schedule(() => 
     {
         var updateTask = new AzureBlobUpdateTask(taskMetadata);
         updateTask.Execute();
         updateTask.Stop(immediate: true);
     });
     taskMetadata.Scheduler.WithName(taskId).ToRunNow().AndEvery((int)taskMetadata.BlobPollDelay.TotalSeconds).Seconds();
     this.taskToMetadata.Add(taskId, taskMetadata);
 }