[Checkins] SVN: lovely.remotetask/trunk/src/lovely/remotetask/ Make it usable in ZMI.

Jürgen Kartnaller juergen at kartnaller.at
Tue Apr 17 08:45:57 EDT 2007


Log message for revision 74199:
  Make it usable in ZMI.
  Cron jobs can be canceled
  

Changed:
  U   lovely.remotetask/trunk/src/lovely/remotetask/configure.zcml
  U   lovely.remotetask/trunk/src/lovely/remotetask/interfaces.py
  U   lovely.remotetask/trunk/src/lovely/remotetask/job.py
  U   lovely.remotetask/trunk/src/lovely/remotetask/service.py

-=-
Modified: lovely.remotetask/trunk/src/lovely/remotetask/configure.zcml
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/configure.zcml	2007-04-17 10:24:40 UTC (rev 74198)
+++ lovely.remotetask/trunk/src/lovely/remotetask/configure.zcml	2007-04-17 12:45:56 UTC (rev 74199)
@@ -19,6 +19,15 @@
         set_schema=".interfaces.IJob" />
   </class>
 
+  <class class=".job.CronJob">
+    <implements
+        interface="zope.annotation.interfaces.IAttributeAnnotatable" />
+    <require
+        permission="zope.Public"
+        interface=".interfaces.ICronJob"
+        set_schema=".interfaces.ICronJob" />
+  </class>
+
   <!-- Demo: Echo Task -->
   <utility
       factory=".task.EchoTask"

Modified: lovely.remotetask/trunk/src/lovely/remotetask/interfaces.py
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/interfaces.py	2007-04-17 10:24:40 UTC (rev 74198)
+++ lovely.remotetask/trunk/src/lovely/remotetask/interfaces.py	2007-04-17 12:45:56 UTC (rev 74199)
@@ -178,7 +178,7 @@
         description=u'The date/time at which the job was completed.')
 
 
-class ICron(zope.interface.Interface):
+class ICronJob(IJob):
     """Parameters for cron jobs"""
 
     minute = zope.schema.Tuple(

Modified: lovely.remotetask/trunk/src/lovely/remotetask/job.py
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/job.py	2007-04-17 10:24:40 UTC (rev 74198)
+++ lovely.remotetask/trunk/src/lovely/remotetask/job.py	2007-04-17 12:45:56 UTC (rev 74199)
@@ -51,16 +51,14 @@
 
 class CronJob(Job):
     """A job for reocuring tasks"""
-    zope.interface.implements(interfaces.ICron)
+    zope.interface.implements(interfaces.ICronJob)
 
-    minute = FieldProperty(interfaces.ICron['minute'])
-    hour = FieldProperty(interfaces.ICron['hour'])
-    dayOfMonth = FieldProperty(interfaces.ICron['dayOfMonth'])
-    month = FieldProperty(interfaces.ICron['month'])
-    dayOfWeek = FieldProperty(interfaces.ICron['dayOfWeek'])
+    minute = FieldProperty(interfaces.ICronJob['minute'])
+    hour = FieldProperty(interfaces.ICronJob['hour'])
+    dayOfMonth = FieldProperty(interfaces.ICronJob['dayOfMonth'])
+    month = FieldProperty(interfaces.ICronJob['month'])
+    dayOfWeek = FieldProperty(interfaces.ICronJob['dayOfWeek'])
 
-    _lastExecutionTime = None
-
     def __init__(self, id, task, input,
                  minute=(),
                  hour=(),

Modified: lovely.remotetask/trunk/src/lovely/remotetask/service.py
===================================================================
--- lovely.remotetask/trunk/src/lovely/remotetask/service.py	2007-04-17 10:24:40 UTC (rev 74198)
+++ lovely.remotetask/trunk/src/lovely/remotetask/service.py	2007-04-17 12:45:56 UTC (rev 74199)
@@ -105,6 +105,10 @@
                 job.status = interfaces.CANCELLED
                 self._queue.pull(idx)
                 break
+        if jobid in self.jobs:
+            job = self.jobs[jobid]
+            if job.status == interfaces.CRONJOB:
+                job.status = interfaces.CANCELLED
 
     def getStatus(self, jobid):
         """See interfaces.ITaskService"""



More information about the Checkins mailing list