如何捕获远程芹菜工人的stdout?

时间:2013-07-09 13:34:25

标签: python stdout celery

我有多个远程Celery工作人员的设置。在通过apply_async启动任务的主程序中,我需要连续访问stdout的活动远程工作者。

是否可以仅使用Celery API?

1 个答案:

答案 0 :(得分:1)

我认为你应该设置SysLogHandlerCELERY_REDIRECT_STDOUTSCELERY_REDIRECT_STDOUTS_LEVEL默认使用当前记录器。

您可以尝试示例(在远程servert上):

import logging
from logging.handlers import SysLogHandler

logger = logging.getLogger()
logger.setLevel(logging.INFO)
# host is your server that used for the log
syslog = SysLogHandler(address=(host, port))
formatter = logging.Formatter('%(name)s: %(levelname)s %(message)s')
syslog.setFormatter(formatter)
logger.addHandler(syslog)

# check it
logger.info("Test test")