sintonia/worker/libretime_worker/main.py

30 lines
731 B
Python

from pathlib import Path
from typing import Optional
import click
from libretime_shared.cli import cli_logging_options
from libretime_shared.config import DEFAULT_ENV_PREFIX
from .config import __name__ as config_module
from .tasks import worker
@click.command(context_settings={"auto_envvar_prefix": DEFAULT_ENV_PREFIX})
@cli_logging_options()
def cli(log_level: str, log_filepath: Optional[Path]):
"""
Run celery.
"""
args = [
"worker",
f"--config={config_module}",
"--beat",
"--time-limit=1800",
"--concurrency=1",
f"--loglevel={log_level}",
]
if log_filepath is not None:
args.append(f"--logfile={log_filepath}")
worker.worker_main(args)