Changeset View
Changeset View
Standalone View
Standalone View
swh/scheduler/cli/journal.py
# Copyright (C) 2021 The Software Heritage developers | # Copyright (C) 2021 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import click | import click | ||||
from . import cli | from . import cli as cli_scheduler_group | ||||
@cli.command("journal-client") | @cli_scheduler_group.command("journal-client") | ||||
@click.pass_context | @click.pass_context | ||||
@click.option( | @click.option( | ||||
"--stop-after-objects", | "--stop-after-objects", | ||||
"-m", | "-m", | ||||
default=None, | default=None, | ||||
type=int, | type=int, | ||||
help="Maximum number of objects to replay. Default is to run forever.", | help="Maximum number of objects to replay. Default is to run forever.", | ||||
) | ) | ||||
def visit_stats_journal_client(ctx, stop_after_objects): | def visit_stats_journal_client(ctx, stop_after_objects): | ||||
"""Keep the the origin visits stats table up to date from a swh kafka journal | |||||
""" | |||||
from functools import partial | from functools import partial | ||||
from swh.journal.client import get_journal_client | from swh.journal.client import get_journal_client | ||||
from swh.scheduler.journal_client import process_journal_objects | from swh.scheduler.journal_client import process_journal_objects | ||||
if not ctx.obj["scheduler"]: | if not ctx.obj["scheduler"]: | ||||
raise ValueError("Scheduler class (local/remote) must be instantiated") | raise ValueError("Scheduler class (local/remote) must be instantiated") | ||||
Show All 28 Lines |