Opened 14 years ago
Last modified 14 years ago
#593 new enhancement
Use IRepositoryChangeListener to request a build
Reported by: | rverchere | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.7 |
Component: | General | Version: | 0.6b2 |
Keywords: | Cc: | felix.schwarz@… | |
Operating System: | Linux |
Description
Hello,
bitten slave asks every N seconds if there is a build to process. Usage of IRepositoryChangeListener should be a great idea with trac 0.12, then bitten will only ask to build when a new change occurs.
See http://trac.edgewall.org/wiki/0.12/TracRepositoryAdmin#ExplicitSync And http://trac.edgewall.org/wiki/TracDev/ApiChanges/0.12#IRepositoryChangeListener
Regards
Attachments (0)
Change History (2)
comment:1 Changed 14 years ago by Felix Schwarz <felix.schwarz@…>
- Cc felix.schwarz@… added
comment:2 Changed 14 years ago by osimons
- Milestone changed from 0.6.1 to 0.7
From the point of the slave, I think what Felix says is correct. However, for 0.7 we need to both redo and rethink how the master organizes its builds against the various repositories.
Currently the master gets a request for slave and proceeds to check repository to update pending builds, remove any pending builds no longer current, and responding with a build for the slave is such exists in the queue. Having the master subscribe to IRepositoryChangeListener may be a better way of keeping the 'pending' queue up-to-date?
Anyway, a topic for 0.7.
If I understand this ticket correctly, I think this will not be implemented. As far as I understand, you missed two important points:
Also to implement your proposal, the slave needs to know much more about the trac config than currently (trac environment path) which will complicate the code.
If you want to avoid continuous checks (most of which are pointless as nothing changed), what about writing a very small script/trac plugin that uses the Trac's IRepositoryChangeListener to start the bitten slave once? That should be easy to do and requires no modification to bitten.