fixed issue 1611 (scheduler's migrate should follow Auth's migrate behaviour)
This commit is contained in:
+18
-5
@@ -454,6 +454,15 @@ class Scheduler(MetaScheduler):
|
|||||||
|
|
||||||
self.define_tables(db, migrate=migrate)
|
self.define_tables(db, migrate=migrate)
|
||||||
|
|
||||||
|
def __get_migrate(self, tablename, migrate=True):
|
||||||
|
if migrate is False:
|
||||||
|
return False
|
||||||
|
elif migrate is True:
|
||||||
|
return True
|
||||||
|
elif isinstance(migrate, str):
|
||||||
|
return "%s%s.table" % (migrate , tablename)
|
||||||
|
return True
|
||||||
|
|
||||||
def now(self):
|
def now(self):
|
||||||
return self.utc_time and datetime.datetime.utcnow() or datetime.datetime.now()
|
return self.utc_time and datetime.datetime.utcnow() or datetime.datetime.now()
|
||||||
|
|
||||||
@@ -505,7 +514,8 @@ class Scheduler(MetaScheduler):
|
|||||||
Field('last_run_time', 'datetime', writable=False, readable=False),
|
Field('last_run_time', 'datetime', writable=False, readable=False),
|
||||||
Field('assigned_worker_name', default='', writable=False),
|
Field('assigned_worker_name', default='', writable=False),
|
||||||
on_define=self.set_requirements,
|
on_define=self.set_requirements,
|
||||||
migrate=migrate, format='%(task_name)s')
|
migrate=self.__get_migrate('scheduler_task', migrate),
|
||||||
|
format='%(task_name)s')
|
||||||
|
|
||||||
db.define_table(
|
db.define_table(
|
||||||
'scheduler_run',
|
'scheduler_run',
|
||||||
@@ -517,7 +527,8 @@ class Scheduler(MetaScheduler):
|
|||||||
Field('run_result', 'text'),
|
Field('run_result', 'text'),
|
||||||
Field('traceback', 'text'),
|
Field('traceback', 'text'),
|
||||||
Field('worker_name', default=self.worker_name),
|
Field('worker_name', default=self.worker_name),
|
||||||
migrate=migrate)
|
migrate=self.__get_migrate('scheduler_run', migrate)
|
||||||
|
)
|
||||||
|
|
||||||
db.define_table(
|
db.define_table(
|
||||||
'scheduler_worker',
|
'scheduler_worker',
|
||||||
@@ -526,9 +537,11 @@ class Scheduler(MetaScheduler):
|
|||||||
Field('last_heartbeat', 'datetime'),
|
Field('last_heartbeat', 'datetime'),
|
||||||
Field('status', requires=IS_IN_SET(WORKER_STATUS)),
|
Field('status', requires=IS_IN_SET(WORKER_STATUS)),
|
||||||
Field('is_ticker', 'boolean', default=False, writable=False),
|
Field('is_ticker', 'boolean', default=False, writable=False),
|
||||||
Field('group_names', 'list:string', default=self.group_names),#FIXME writable=False or give the chance to update dinamically the groups?
|
Field('group_names', 'list:string', default=self.group_names),
|
||||||
migrate=migrate)
|
migrate=self.__get_migrate('scheduler_worker', migrate)
|
||||||
if migrate:
|
)
|
||||||
|
|
||||||
|
if migrate is not False:
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
def loop(self, worker_name=None):
|
def loop(self, worker_name=None):
|
||||||
|
|||||||
Reference in New Issue
Block a user