Files
bincio-activity/bincio/cli.py
T
Davide Scaini 1a563012e2 reextract-originals: run as subprocess to avoid OOM
The in-process approach loaded all 2015 Strava originals into the server
process memory, causing OOM kills. Now spawns `bincio reextract-originals`
as a child process; heavy work runs in an isolated Python interpreter that
exits when done, freeing all memory.

Also adds `bincio reextract-originals` as a standalone CLI command that
prints JSON-lines progress to stdout — useful for running directly on the
VPS via SSH for large backlogs.
2026-04-15 09:42:31 +02:00

31 lines
928 B
Python

"""Top-level CLI entry point."""
import click
from bincio import __version__
@click.group()
@click.version_option(__version__)
def main() -> None:
"""BincioActivity — federated, open-source activity stats."""
from bincio.extract.cli import extract # noqa: E402
from bincio.render.cli import render # noqa: E402
from bincio.edit.cli import edit # noqa: E402
from bincio.import_.cli import import_group # noqa: E402
from bincio.serve.init_cmd import init # noqa: E402
from bincio.serve.cli import serve # noqa: E402
from bincio.dev import dev # noqa: E402
from bincio.reextract_cmd import reextract_originals # noqa: E402
main.add_command(extract)
main.add_command(render)
main.add_command(edit)
main.add_command(import_group)
main.add_command(init)
main.add_command(serve)
main.add_command(dev)
main.add_command(reextract_originals)