Edgewall Software
Modify

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

If I understand this ticket correctly, I think this will not be implemented. As far as I understand, you missed two important points:

  • The bitten slave will likely run on a different machine so the trac listener won't help.
  • The slave should not depend on trac at all.

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.

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.

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The ticket will remain with no owner.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.