Mercurial > bitten > bitten-test
changeset 151:ebf13ea88ff2
Don't removing pending builds when starting/stopping the master. Just reset in-progress builds so that they become pending.
author | cmlenz |
---|---|
date | Mon, 22 Aug 2005 08:30:45 +0000 |
parents | 553784dccf97 |
children | 56027862f910 |
files | bitten/master.py |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/bitten/master.py +++ b/bitten/master.py @@ -118,13 +118,18 @@ return def _cleanup_orphaned_builds(self): - # Remove all pending or in-progress builds + # Reset all in-progress builds db = self.env.get_db_cnx() for build in Build.select(self.env, status=Build.IN_PROGRESS, db=db): build.status = Build.PENDING + build.slave = None + build.slave_info = {} + build.started = 0 + for step in BuildStep.select(self.env, build=build.id): + step.delete(db=db) + for log in BuildLog.select(self.env, build=build.id): + log.delete(db=db) build.update(db=db) - for build in Build.select(self.env, status=Build.PENDING, db=db): - build.delete(db=db) db.commit() def _cleanup_snapshots(self, when): @@ -194,6 +199,8 @@ build.config, handler.name) for step in BuildStep.select(self.env, build=build.id): step.delete(db=db) + for log in BuildLog.select(self.env, build=build.id): + log.delete(db=db) build.slave = None build.slave_info = {} build.status = Build.PENDING