Esempio n. 1
0
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()]}
Esempio n. 2
0
    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
Esempio n. 3
0
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())
Esempio n. 4
0
def scheduler_thread():
    scheduler = remoulade.get_scheduler()
    thread = threading.Thread(target=scheduler.start)
    yield thread
    scheduler.stop()