Update library: APScheduler
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user