query builds per chunks in prune-signed-builds
For bigger installations query all builds can run out of memory on hub side. Query these in 50k chunks. Fixes: https://pagure.io/koji/issue/1587
This commit is contained in:
parent
a5af69c94b
commit
0b4f0fb3a1
1 changed files with 15 additions and 2 deletions
|
|
@ -1587,11 +1587,24 @@ def handle_prune_signed_copies(options, session, args):
|
|||
if not options.build:
|
||||
if options.verbose:
|
||||
print("Getting builds...")
|
||||
qopts = {'state' : koji.BUILD_STATES['COMPLETE']}
|
||||
qopts = {
|
||||
'state' : koji.BUILD_STATES['COMPLETE'],
|
||||
'queryOpts': {
|
||||
'limit': 50000,
|
||||
'offset': 0,
|
||||
'order': 'build_id',
|
||||
}
|
||||
}
|
||||
if options.package:
|
||||
pkginfo = session.getPackage(options.package)
|
||||
qopts['packageID'] = pkginfo['id']
|
||||
builds = [(b['nvr'], b) for b in session.listBuilds(**qopts)]
|
||||
builds = []
|
||||
while True:
|
||||
chunk = [(b['nvr'], b) for b in session.listBuilds(**qopts)]
|
||||
if not chunk:
|
||||
break
|
||||
builds.extend(chunk)
|
||||
qopts['queryOpts']['offset'] += qopts['queryOpts']['limit']
|
||||
if options.verbose:
|
||||
print("...got %i builds" % len(builds))
|
||||
builds.sort()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue