|
@@ -433,51 +433,55 @@ class PersistentScheduler(Scheduler):
|
|
|
|
|
|
for _ in (1, 2):
|
|
|
try:
|
|
|
- self._store['entries']
|
|
|
+ self._store[b'entries']
|
|
|
except KeyError:
|
|
|
# new schedule db
|
|
|
try:
|
|
|
- self._store['entries'] = {}
|
|
|
+ self._store[b'entries'] = {}
|
|
|
except KeyError as exc:
|
|
|
self._store = self._destroy_open_corrupted_schedule(exc)
|
|
|
continue
|
|
|
else:
|
|
|
- if '__version__' not in self._store:
|
|
|
+ if b'__version__' not in self._store:
|
|
|
warning('DB Reset: Account for new __version__ field')
|
|
|
self._store.clear() # remove schedule at 2.2.2 upgrade.
|
|
|
- elif 'tz' not in self._store:
|
|
|
+ elif b'tz' not in self._store:
|
|
|
warning('DB Reset: Account for new tz field')
|
|
|
self._store.clear() # remove schedule at 3.0.8 upgrade
|
|
|
- elif 'utc_enabled' not in self._store:
|
|
|
+ elif b'utc_enabled' not in self._store:
|
|
|
warning('DB Reset: Account for new utc_enabled field')
|
|
|
self._store.clear() # remove schedule at 3.0.9 upgrade
|
|
|
break
|
|
|
|
|
|
tz = self.app.conf.timezone
|
|
|
- stored_tz = self._store.get('tz')
|
|
|
+ stored_tz = self._store.get(b'tz')
|
|
|
if stored_tz is not None and stored_tz != tz:
|
|
|
warning('Reset: Timezone changed from %r to %r', stored_tz, tz)
|
|
|
self._store.clear() # Timezone changed, reset db!
|
|
|
utc = self.app.conf.enable_utc
|
|
|
- stored_utc = self._store.get('utc_enabled')
|
|
|
+ stored_utc = self._store.get(b'utc_enabled')
|
|
|
if stored_utc is not None and stored_utc != utc:
|
|
|
choices = {True: 'enabled', False: 'disabled'}
|
|
|
warning('Reset: UTC changed from %s to %s',
|
|
|
choices[stored_utc], choices[utc])
|
|
|
self._store.clear() # UTC setting changed, reset db!
|
|
|
- entries = self._store.setdefault('entries', {})
|
|
|
+ entries = self._store.setdefault(b'entries', {})
|
|
|
self.merge_inplace(self.app.conf.beat_schedule)
|
|
|
self.install_default_entries(self.schedule)
|
|
|
- self._store.update(__version__=__version__, tz=tz, utc_enabled=utc)
|
|
|
+ self._store.update({
|
|
|
+ b'__version__': __version__,
|
|
|
+ b'tz': tz,
|
|
|
+ b'utc_enabled': utc,
|
|
|
+ })
|
|
|
self.sync()
|
|
|
debug('Current schedule:\n' + '\n'.join(
|
|
|
repr(entry) for entry in values(entries)))
|
|
|
|
|
|
def get_schedule(self):
|
|
|
- return self._store['entries']
|
|
|
+ return self._store[b'entries']
|
|
|
|
|
|
def set_schedule(self, schedule):
|
|
|
- self._store['entries'] = schedule
|
|
|
+ self._store[b'entries'] = schedule
|
|
|
schedule = property(get_schedule, set_schedule)
|
|
|
|
|
|
def sync(self):
|