Skip to content

Commit

Permalink
Merge pull request #227
Browse files Browse the repository at this point in the history
feat: remove worker duplicate log
  • Loading branch information
lihuacai168 authored Nov 24, 2024
2 parents 0ba33db + f537b3b commit 61cac9a
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 28 deletions.
30 changes: 9 additions & 21 deletions FasterRunner/mycelery.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import os

from celery import Celery
from celery.signals import after_setup_logger
from celery.signals import after_setup_logger, setup_logging

# set the default Django settings module for the 'celery' program.
from django.conf import settings
Expand Down Expand Up @@ -37,25 +37,13 @@
CELERYD_MAX_TASKS_PER_CHILD=300,
# 每个worker一次性拿的任务数
CELERYD_PREFETCH_MULTIPLIER=1,
# 完全禁用 Celery 的日志配置
worker_hijack_root_logger=False,
worker_redirect_stdouts=False,
worker_redirect_stdouts_level='ERROR', # 只记录错误级别
)


@after_setup_logger.connect
def setup_loggers(logger, *args, **kwargs):
fh = logging.FileHandler("logs/celery.log", "a", encoding="utf-8")
fh.setLevel(logging.INFO)

# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)

# 定义handler的输出格式
formatter = logging.Formatter(
"%(asctime)s %(levelname)s [pid:%(process)d] [%(name)s %(filename)s->%(funcName)s:%(lineno)s] %(message)s"
)
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)
# 禁用 Celery 的日志设置
@setup_logging.connect
def setup_loggers_without_celery(*args, **kwargs):
return True
19 changes: 12 additions & 7 deletions FasterRunner/settings/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,12 @@
]

MIDDLEWARE = [
"corsheaders.middleware.CorsMiddleware",
"fastrunner.utils.middleware.ExceptionMiddleware",
"django.middleware.gzip.GZipMiddleware",
"log_request_id.middleware.RequestIDMiddleware",
"django.middleware.security.SecurityMiddleware",
"django.contrib.sessions.middleware.SessionMiddleware",
"corsheaders.middleware.CorsMiddleware",
"django.middleware.common.CommonMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
Expand Down Expand Up @@ -309,7 +309,7 @@
"django": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},

'django.db.backends': {
Expand All @@ -321,27 +321,32 @@
"fastrunner": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},
"httprunner": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},
"fastuser": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},
"mock": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},
"django_auth_ldap": {
"handlers": handlers,
"level": "INFO",
"propagate": True,
"propagate": False,
},
"": {
"handlers": ["console"],
"level": "ERROR",
"propagate": False,
},
},
}
Expand Down
19 changes: 19 additions & 0 deletions start-dev.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh

if [ $1 = "app" ]; then
echo "start app"
# /usr/local/bin/python -m gunicorn FasterRunner.wsgi_docker -b 0.0.0.0 -w4
# export IS_PERF=1; python -m gunicorn FasterRunner.wsgi_dev -b 0.0.0.0 -w16 -k gevent
export IS_PERF=1; gunicorn FasterRunner.wsgi_dev -b 0.0.0.0:8000 -w 2 -k gevent
fi

if [ $1 = "worker" ]; then
echo "start celery"
export DJANGO_SETTINGS_MODULE=FasterRunner.settings.dev; python -m celery -A FasterRunner.mycelery worker -l error --concurrency=2
fi


if [ $1 = "beat" ]; then
echo "start celery beat"
export DJANGO_SETTINGS_MODULE=FasterRunner.settings.dev; python -m celery -A FasterRunner.mycelery beat -l info
fi

0 comments on commit 61cac9a

Please sign in to comment.