如何为Celery任务日志指定文件路径?

问题描述 投票:1回答:1

我使用Django创建了一些REST API,并使用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中有多个关于这个问题的问题。但没有一个真正提到如何为日志文件指定一个文件路径)

python django django-rest-framework celery django-celery
1个回答
2
投票

从文档中你需要指定日志文件。

-f, --logfile

日志文件的路径。如果没有指定日志文件,则使用 stderr。

例如:如果没有指定日志文件,则使用stderr。

celery -A project worker --logfile=<path>
© www.soinside.com 2019 - 2024. All rights reserved.