Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/cli/admin.py
Show First 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | |||||
@cli.command('start-listener') | @cli.command('start-listener') | ||||
@click.pass_context | @click.pass_context | ||||
def listener(ctx): | def listener(ctx): | ||||
"""Starts a swh-scheduler listener service. | """Starts a swh-scheduler listener service. | ||||
This service is responsible for listening at task lifecycle events and | This service is responsible for listening at task lifecycle events and | ||||
handle their workflow status in the database.""" | handle their workflow status in the database.""" | ||||
scheduler = ctx.obj['scheduler'] | scheduler_backend = ctx.obj['scheduler'] | ||||
if not scheduler: | if not scheduler_backend: | ||||
raise ValueError('Scheduler class (local/remote) must be instantiated') | raise ValueError('Scheduler class (local/remote) must be instantiated') | ||||
from swh.scheduler.celery_backend.config import build_app | broker = ctx.obj['config']\ | ||||
app = build_app(ctx.obj['config'].get('celery')) | .get('celery', {})\ | ||||
app.set_current() | .get('task_broker', 'amqp://guest@localhost/%2f') | ||||
from swh.scheduler.celery_backend.pika_listener import get_listener | |||||
from swh.scheduler.celery_backend.listener import event_monitor | listener = get_listener(broker, 'celeryev.listener', scheduler_backend) | ||||
event_monitor(app, backend=scheduler) | try: | ||||
listener.start_consuming() | |||||
finally: | |||||
listener.stop_consuming() | |||||
@cli.command('rpc-serve') | @cli.command('rpc-serve') | ||||
@click.option('--host', default='0.0.0.0', | @click.option('--host', default='0.0.0.0', | ||||
help="Host to run the scheduler server api") | help="Host to run the scheduler server api") | ||||
@click.option('--port', default=5008, type=click.INT, | @click.option('--port', default=5008, type=click.INT, | ||||
help="Binding port of the server") | help="Binding port of the server") | ||||
@click.option('--debug/--nodebug', default=None, | @click.option('--debug/--nodebug', default=None, | ||||
Show All 17 Lines |