Как указать путь к файлу для журналов задач сельдерея? - PullRequest
1 голос
/ 24 апреля 2020

Я создал несколько REST API, используя Django, и я использую Celery для запуска некоторых асинхронных заданий. API определен в api.py, а асинхронные рабочие задания - в actions.py

. Вот как выглядит мой api.py:

from myproject import actions

def sample_api(request):
    actions.sample_job.delay()
    return HttpResponse('success')

Вот как мой actions.py выглядит так:

from celery.utils.log import get_task_logger
from celery.decorators import task

logger = get_task_logger(__name__)


@task(name="sample_job")
def sample_job():
    logger.info("start operation")
    <some operations>
    logger.info("stop operation")

Теперь проблема в том, что я не знаю, куда записываются логи. Я пытался искать в каталогах проекта, и я нигде не вижу. Я хочу указать путь к файлу журнала, куда должны записываться эти журналы. Как мне указать путь к файлу журнала в сельдерее?

(я знаю, что в StackOverflow есть несколько вопросов по этому поводу. Но на самом деле никто не упоминает, как указать путь к файлу журнала)

1 Ответ

2 голосов
/ 24 апреля 2020

Из документации необходимо указать файл журнала:

-f, --logfile

Путь к файлу журнала. Если лог-файл не указан, используется stderr.

, например:

celery -A project worker --logfile=<path>
...