def setup_schedulers(app): opts = app.config.get('AVAILABLE_SCHEDULERS') if opts: from pybossa.forms.forms import TaskSchedulerForm TaskSchedulerForm.update_sched_options(opts)
def setup(self): sched.new_task = with_random_scheduler(sched.new_task) sched.sched_variants = variants_with_random_scheduler(sched.sched_variants) TaskSchedulerForm.update_sched_options(sched.sched_variants())
def with_frg_scheduler(f): @wraps(f) def wrapper(project_id, sched, user_id=None, user_ip=None, offset=0): if sched == SCHEDULER_NAME: return get_task(project_id, user_id, user_ip, offset=offset) return f(project_id, sched, user_id=user_id, user_ip=user_ip, offset=offset) return wrapper def variants_with_frg_scheduler(f): @wraps(f) def wrapper(): return f() + [(SCHEDULER_NAME, SCHEDULER_DISPLAY_NAME)] return wrapper class FRGScheduler(Plugin): def setup(self): sched.new_task = with_frg_scheduler(sched.new_task) sched.sched_variants = variants_with_frg_scheduler( sched.sched_variants) TaskSchedulerForm.update_sched_options(sched.sched_variants())