checkwatches can update bug watches for different remote trackers in parallel. Currently that's implemented using threads via the threading module. This branch continues to use threads, but does so with a Twisted ThreadPool.
To make testing easier, and to make the design more elegant, it's possible to pass in a scheduler to BugWatchUpdate.updateBugTrackers(). Previously the scheduling policy was baked into this method.
Getting Twisted in there also opens the door for using more async code in the future.
checkwatches can update bug watches for different remote trackers in parallel. Currently that's implemented using threads via the threading module. This branch continues to use threads, but does so with a Twisted ThreadPool.
To make testing easier, and to make the design more elegant, it's possible to pass in a scheduler to BugWatchUpdate. updateBugTracke rs(). Previously the scheduling policy was baked into this method.
Getting Twisted in there also opens the door for using more async code in the future.