launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #22433
Re: [Merge] lp:~cjwatson/launchpad/prune-snap-files into lp:launchpad
Diff comments:
> === modified file 'lib/lp/scripts/garbo.py'
> --- lib/lp/scripts/garbo.py 2018-04-04 13:51:16 +0000
> +++ lib/lp/scripts/garbo.py 2018-04-30 10:45:14 +0000
> @@ -1564,6 +1567,32 @@
> """
>
>
> +class SnapFilePruner(BulkPruner):
> + """Prune old `SnapFile`s that have been uploaded to the store.
> +
> + Binary files attached to `SnapBuild`s are typically very large, and once
> + they've been uploaded to the store we don't really need to keep them in
> + Launchpad as well. Text files are typically small (<1MiB) and useful
> + for retrospective analysis, so we preserve those indefinitely.
> + """
> + target_table_class = SnapFile
> + ids_to_prune_query = """
> + SELECT DISTINCT SnapFile.id
> + FROM SnapFile, SnapBuild, SnapBuildJob, Job, LibraryFileAlias
> + WHERE
> + SnapFile.snapbuild = SnapBuild.id
> + AND SnapBuildJob.snapbuild = SnapBuild.id
> + AND SnapBuildJob.job_type = %s
> + AND SnapBuildJob.job = Job.id
> + AND Job.status = %s
> + AND Job.date_finished <
> + CURRENT_TIMESTAMP AT TIME ZONE 'UTC'
> + - CAST('30 days' AS INTERVAL)
> + AND SnapFile.libraryfile = LibraryFileAlias.id
> + AND LibraryFileAlias.mimetype != 'text/plain'
Ah yes, good point. Done.
> + """ % (SnapBuildJobType.STORE_UPLOAD.value, JobStatus.COMPLETED.value)
> +
> +
> class SnapStoreSeriesPopulator(TunableLoop):
> """Populates Snap.store_series based on Snap.distro_series.
>
--
https://code.launchpad.net/~cjwatson/launchpad/prune-snap-files/+merge/344825
Your team Launchpad code reviewers is subscribed to branch lp:launchpad.
References