【发布时间】:2018-08-29 21:37:56
【问题描述】:
所以 Celery 是一个超级棒的库,但它的日志记录部分的文档并不是最好的,这让我来这里寻求帮助。
我现在的脚本就是这样(总结得很好):
import logging
from celery import Celery
from celery.utils.log import get_logger
from task import process
import config
logger = get_logger(__name__)
timber_handler = timber.TimberHandler(api_key=config.key,
level=logging.INFO)
logger.addHandler(timber_handler)
app = Celery('task',
broker=config.url,
backend='rpc://')
@app.task
def run_task():
status = get_status() # get alive or dead status
if status == 1:
logger.info("Task is running")
process()
@app.on_after_configure.connect
def task_periodic(**kwargs):
app.add_periodic_task(2.0, run_task.s(), name="Run Constantly")
# More tasks
tasks.py 文件中的 process 函数是非常基本的函数,可以通过 API 和 DB 获取一些信息,我希望能够将其记录到附加到 python 日志库的记录器(timber.io)中,并且是日志的在线存储。
但是,我的主要问题是原木被发送到标准输出而不是原木原木。我看过 celery.signals 但文档不是很好。这里的任何帮助将不胜感激。谢谢。
【问题讨论】: