Update library: APScheduler

This commit is contained in:
Ruud
2014-01-20 16:47:49 +01:00
parent 5cf21452c1
commit 04539edb45
3 changed files with 19 additions and 7 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
version_info = (2, 1, 1)
version_info = (2, 1, 2)
version = '.'.join(str(n) for n in version_info[:3])
release = '.'.join(str(n) for n in version_info)
+10 -4
View File
@@ -21,7 +21,10 @@ class ShelveJobStore(JobStore):
self.jobs = []
self.path = path
self.pickle_protocol = pickle_protocol
self.store = shelve.open(path, 'c', self.pickle_protocol)
self._open_store()
def _open_store(self):
self.store = shelve.open(self.path, 'c', self.pickle_protocol)
def _generate_id(self):
id = None
@@ -33,7 +36,8 @@ class ShelveJobStore(JobStore):
def add_job(self, job):
job.id = self._generate_id()
self.store[job.id] = job.__getstate__()
self.store.sync()
self.store.close()
self._open_store()
self.jobs.append(job)
def update_job(self, job):
@@ -41,11 +45,13 @@ class ShelveJobStore(JobStore):
job_dict['next_run_time'] = job.next_run_time
job_dict['runs'] = job.runs
self.store[job.id] = job_dict
self.store.sync()
self.store.close()
self._open_store()
def remove_job(self, job):
del self.store[job.id]
self.store.sync()
self.store.close()
self._open_store()
self.jobs.remove(job)
def load_jobs(self):
+8 -2
View File
@@ -586,7 +586,10 @@ class Scheduler(object):
wait_seconds = time_difference(next_wakeup_time, now)
logger.debug('Next wakeup is due at %s (in %f seconds)',
next_wakeup_time, wait_seconds)
self._wakeup.wait(wait_seconds)
try:
self._wakeup.wait(wait_seconds)
except IOError: # Catch errno 514 on some Linux kernels
pass
self._wakeup.clear()
elif self.standalone:
logger.debug('No jobs left; shutting down scheduler')
@@ -594,7 +597,10 @@ class Scheduler(object):
break
else:
logger.debug('No jobs; waiting until a job is added')
self._wakeup.wait()
try:
self._wakeup.wait()
except IOError: # Catch errno 514 on some Linux kernels
pass
self._wakeup.clear()
logger.info('Scheduler has been shut down')