Part of canonical.launchpad.interfaces.looptuner View In Hierarchy
Known implementations: canonical.database.multitablecopy.PouringLoop, canonical.launchpad.utilities.looptuner.TunableLoop, canonical.librarian.librariangc.ExpireAliases, canonical.librarian.librariangc.UnreferencedContentPruner, canonical.librarian.librariangc.UnreferencedLibraryFileAliasPruner, lp.archivepublisher.utils.PublishingTunableLoop, lp.bugs.scripts.bugtasktargetnamecaches.BugTaskTargetNameCachesTunableLoop, lp.bugs.scripts.cveimport.CveUpdaterTunableLoop, lp.hardwaredb.scripts.hwdbsubmissions.ProcessingLoop, lp.translations.scripts.fix_translation_credits.CreditsFixer, lp.translations.scripts.migrate_variants.POFileVariantReplacer, lp.translations.scripts.migrate_variants.TranslationMessageVariantReplacer, lp.translations.scripts.remove_obsolete_translations.DeletionLoopRunner, lp.translations.scripts.verify_pofile_stats.Verifier
To construct a self-tuning batched loop, define your loop body as a class implementing TunableLoop, and pass an instance to your LoopTuner.