import click from click import secho from delphi_es_utils.core.utils import printf_code from delphi_es_utils.errors.exceptions import IndexManagerException from delphi_es_utils.services import IndexManager from delphi_es_utils.settings import ENVIRONMENT @click.command('cancel-task', short_help=f'Cancels a running task.') @click.option('--task', required=True, help='Full task id in format "node:task_id"') @click.option('--env', default=ENVIRONMENT, help='Environment override') def cancel_task_cmd(task, env=ENVIRONMENT): try: result = IndexManager().cancel_task(task) except IndexManagerException as e: secho('**✘ Request to cancel task failed**') secho(str(e)) exit(1) except Exception as e: printf_code(e) exit(1) else: if result: secho(f'**✔︎ Cancel request completed successfully for task `{task}`**') exit(0)