我使用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中有多个关于这个问题的问题。但没有一个真正提到如何为日志文件指定一个文件路径)
从文档中你需要指定日志文件。
-f, --logfile
日志文件的路径。如果没有指定日志文件,则使用 stderr。
例如:如果没有指定日志文件,则使用stderr。
celery -A project worker --logfile=<path>