Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/cli.py
Show First 20 Lines • Show All 387 Lines • ▼ Show 20 Lines | |||||
def runner(ctx, period): | def runner(ctx, period): | ||||
"""Starts a swh-scheduler runner service. | """Starts a swh-scheduler runner service. | ||||
This process is responsible for checking for ready-to-run tasks and | This process is responsible for checking for ready-to-run tasks and | ||||
schedule them.""" | schedule them.""" | ||||
from swh.scheduler.celery_backend.runner import run_ready_tasks | from swh.scheduler.celery_backend.runner import run_ready_tasks | ||||
from swh.scheduler.celery_backend.config import app | from swh.scheduler.celery_backend.config import app | ||||
logger = logging.getLogger(__name__ + '.runner') | |||||
scheduler = ctx.obj['scheduler'] | scheduler = ctx.obj['scheduler'] | ||||
try: | try: | ||||
while True: | while True: | ||||
logger.info('Run ready tasks') | |||||
try: | try: | ||||
run_ready_tasks(scheduler, app) | run_ready_tasks(scheduler, app) | ||||
except Exception: | except Exception: | ||||
scheduler.rollback() | scheduler.rollback() | ||||
raise | logger.exception('Unexpected error in run_ready_tasks()') | ||||
if not period: | if not period: | ||||
break | break | ||||
time.sleep(period) | time.sleep(period) | ||||
except KeyboardInterrupt: | except KeyboardInterrupt: | ||||
ctx.exit(0) | ctx.exit(0) | ||||
@cli.command('listener') | @cli.command('listener') | ||||
▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines |