diff --git a/Dockerfile b/Dockerfile index 7bc47ec..84a33ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,8 @@ WORKDIR /code/DjangoBlog/ RUN apt-get install default-libmysqlclient-dev -y && \ ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ADD requirements.txt requirements.txt -RUN pip install -Ur requirements.txt && \ +RUN pip install --upgrade pip && \ + pip install -Ur requirements.txt && \ pip install gunicorn[gevent] && \ pip cache purge diff --git a/blog/middleware.py b/blog/middleware.py index 0d3fe5b..d8824c9 100644 --- a/blog/middleware.py +++ b/blog/middleware.py @@ -34,22 +34,22 @@ class OnlineMiddleware(object): http_user_agent = request.META.get('HTTP_USER_AGENT', '') ip, _ = get_client_ip(request) user_agent = parse(http_user_agent) - - try: - cast_time = time.time() - start_time - if ELASTICSEARCH_ENABLED: - time_taken = round((cast_time) * 1000, 2) - url = request.path - from django.utils import timezone - ElaspedTimeDocumentManager.create( - url=url, - time_taken=time_taken, - log_datetime=timezone.now(), - useragent=user_agent, - ip=ip) - response.content = response.content.replace( - b'', str.encode(str(cast_time)[:5])) - except Exception as e: - logger.error("Error OnlineMiddleware: %s" % e) + if not response.streaming: + try: + cast_time = time.time() - start_time + if ELASTICSEARCH_ENABLED: + time_taken = round((cast_time) * 1000, 2) + url = request.path + from django.utils import timezone + ElaspedTimeDocumentManager.create( + url=url, + time_taken=time_taken, + log_datetime=timezone.now(), + useragent=user_agent, + ip=ip) + response.content = response.content.replace( + b'', str.encode(str(cast_time)[:5])) + except Exception as e: + logger.error("Error OnlineMiddleware: %s" % e) return response diff --git a/requirements.txt b/requirements.txt index f393fd4..de56c1f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,8 +5,8 @@ django-haystack==3.0 django-ipware==3.0.2 django-mdeditor==0.1.18 django-uuslug==1.2.0 -elasticsearch==7.13.2 -elasticsearch-dsl==7.3.0 +elasticsearch==7.13.3 +elasticsearch-dsl==7.4.0 gevent==21.1.2 jieba==0.42.1 jsonpickle==2.0.0