Ejemplo n.º 1
0
def start_task(
        func: Celery, kwarg_dict: Dict = None, queue: str = CELERY_QUEUE) \
        -> str:
    """Start a task, handling unexplaiend failures along the way

    Args:
        func (Celery): Celery task function to call to start task
        kwarg_dict (dict): Dicitonary to pass to Celery.apply_async's single
         kwargs parameter
        queue (str): Name of the celery queue to use

    Returns:
        str: Task ID
    """
    task: AsyncResult = func.apply_async(
        kwargs=kwarg_dict if kwarg_dict else {},
        queue=queue)
    task_id: str = task.id

    return task_id