def get_scheduled_jobs(): try: scheduler = get_scheduler() except NoScheduler: return {"result": []} scheduled_jobs = scheduler.get_redis_schedule() return {"result": [job.as_dict() for job in scheduled_jobs.values()]}
def wrapper(*args, **kwargs): try: scheduler = get_scheduler() func(scheduler, *args, **kwargs) scheduled_jobs = scheduler.get_redis_schedule() return {"result": [job.as_dict() for job in scheduled_jobs.values()]} except NoScheduler: return {"error": "this route needs a scheduler, but no scheduler was found."}, 400
def main(): args = parse_arguments() for path in args.path: sys.path.insert(0, path) for module in args.modules: importlib.import_module(module) logging.basicConfig( level=logging.INFO if not args.verbose else logging.DEBUG, format=logformat) logger = get_logger("remoulade", "Scheduler") def signal_handler(signal, frame): logger.debug("Remoulade scheduler is shutting down") sys.exit(0) signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) logger.debug("Remoulade scheduler start") sys.exit(get_scheduler().start())
def scheduler_thread(): scheduler = remoulade.get_scheduler() thread = threading.Thread(target=scheduler.start) yield thread scheduler.stop()