There should be a way to force an update of an entire bug tracker
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Graham Binns |
Bug Description
At the moment the only way we can update an entire bug tracker is to manually reset all its BugWatches' lastchecked times to NULL before running `cronscripts/
The trouble with this approach is that it doesn't scale to bug trackers with large numbers of watches, like the Gnome Bugzilla, which at the moment has > 13,000 watches against it. If we were to try to update all 13,000 watches at once it is almost certain that we'd either overload the remote server or that the process would take so long as to make our connection time out.
What we should be able to do is something like this:
$ cronscripts/
This would update all bug watches for $bugtracker in batches of 500, looping until done. This has the advantage of reusing the existing BugWatchUpdater to do all the heavy lifting (though it may make more sense to write an extra script for this, since its torturous enough working with checkwatches' logic already).
Related branches
- Eleanor Berger (community): Approve (code)
-
Diff: 523 lines9 files modifiedcronscripts/checkwatches.py (+13/-1)
lib/lp/bugs/configure.zcml (+1/-0)
lib/lp/bugs/doc/bugtracker.txt (+66/-8)
lib/lp/bugs/doc/checkwatches-cli-switches.txt (+33/-0)
lib/lp/bugs/doc/checkwatches.txt (+113/-2)
lib/lp/bugs/interfaces/bugtracker.py (+3/-0)
lib/lp/bugs/model/bugtracker.py (+9/-1)
lib/lp/bugs/scripts/checkwatches.py (+81/-1)
lib/lp/bugs/tests/test_doc.py (+6/-0)
Changed in malone: | |
milestone: | 3.1.10 → none |
Changed in malone: | |
assignee: | Graham Binns (gmb) → nobody |
FWIW, forcing updates & forcing full updates should be a general consideration for any "import" style jobs.