[Pkg-debile-commits] [debile-master] 44/126: update

Sylvestre Ledru sylvestre at alioth.debian.org
Mon Aug 19 14:56:12 UTC 2013


This is an automated email from the git hooks/post-receive script.

sylvestre pushed a commit to branch scan-build-html
in repository debile-master.

commit 409d1baf5af43dbe1916fdea58501a71110b671c
Author: Paul Tagliamonte <tag at pault.ag>
Date:   Wed May 29 22:41:32 2013 -0400

    update
---
 lucy/models/job.py   |   14 +++++++++++++-
 scripts/lucy-janitor |   25 +++++++++++++++++++++++++
 2 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/lucy/models/job.py b/lucy/models/job.py
index 419a6b4..3261604 100644
--- a/lucy/models/job.py
+++ b/lucy/models/job.py
@@ -1,5 +1,7 @@
-from lucy.models import LucyObject
+import datetime as dt
+
 from lucy.models.machine import Machine
+from lucy.models import LucyObject
 
 
 class Job(LucyObject):
@@ -73,6 +75,16 @@ class Job(LucyObject):
         return v
 
     @classmethod
+    def dead_jobs(cls, howlong, **kwargs):
+        cutoff = dt.datetime.utcnow() - howlong
+        for x in cls.unfinished_jobs(**{
+            "assigned_at": {"$lt": cutoff},
+            "builder": {"$ne": None},
+            "finished_at": None
+        }):
+            yield x
+
+    @classmethod
     def unfinished_jobs(cls, **kwargs):
         k = kwargs.copy()
         k.update({"finished_at": None})
diff --git a/scripts/lucy-janitor b/scripts/lucy-janitor
new file mode 100755
index 0000000..ba4080a
--- /dev/null
+++ b/scripts/lucy-janitor
@@ -0,0 +1,25 @@
+#!/usr/bin/env python
+
+from lucy.models.job import Job
+
+import datetime as dt
+import schedule
+import time
+
+
+def job():
+    length = dt.timedelta(hours=2)
+    jobs = Job.dead_jobs(length)
+    for job in jobs:
+        job['builder'] = None
+        job['assigned_at'] = None
+        job.save()
+        print("Pushing %s back into the pool" % (job['_id']))
+
+
+schedule.every(5).minutes.do(job)
+
+
+while True:
+    schedule.run_pending()
+    time.sleep(1)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-debile/debile-master.git



More information about the Pkg-debile-commits mailing list