Part of canonical.launchpad.scripts
| Class | OAuthNoncePruner | An ITunableLoop to prune old OAuthNonce records. | 
| Class | OpenIDConsumerNoncePruner | An ITunableLoop to prune old OpenIDConsumerNonce records. | 
| Class | OpenIDConsumerAssociationPruner | Undocumented | 
| Class | RevisionCachePruner | A tunable loop to remove old revisions from the cache. | 
| Class | CodeImportResultPruner | A TunableLoop to prune unwanted CodeImportResult rows. | 
| Class | RevisionAuthorEmailLinker | A TunableLoop that links RevisionAuthor objects to Person objects. | 
  
| Class | HWSubmissionEmailLinker | A TunableLoop that links HWSubmission objects to Person objects. | 
  
| Class | PersonPruner | Undocumented | 
| Class | BugNotificationPruner | Prune BugNotificationRecipient records no longer of interest. | 
  
| Class | BranchJobPruner | Prune `BranchJob`s that are in a final state and more than a month old. | 
| Class | BugHeatUpdater | A TunableLoop for bug heat calculations. | 
  
| Class | BugWatchActivityPruner | A TunableLoop to prune BugWatchActivity entries. | 
| Class | ObsoleteBugAttachmentDeleter | Delete bug attachments without a LibraryFileContent record. | 
| Class | OldTimeLimitedTokenDeleter | Delete expired url access tokens from the session DB. | 
| Class | SuggestiveTemplatesCacheUpdater | Refresh the SuggestivePOTemplate cache. | 
| Class | BaseDatabaseGarbageCollector | Abstract base class to run a collection of TunableLoops. | 
| Class | HourlyDatabaseGarbageCollector | Undocumented | 
| Class | DailyDatabaseGarbageCollector | Undocumented |