0

开发一个会减慢开发服务器响应时间的中间件。为了简化它,我创建了一个非常简单的示例来测量get_response时间,sleeps因此整个请求周期大约需要 2 秒。

问题是,当一次发送多个请求时,其中一些会休眠 2xN 时间(不仅仅是更长一点,而是成倍增加)。

我认为这是因为 Django 的开发服务器并发性的限制。有可能让它工作吗?

class SnailMiddleware:
    """ Middleware that throttle responses """
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request: HttpRequest):
        start = now()
        response = self.get_response(request)
        elapsed_time = (now() - start).total_seconds()
        time.sleep(2 - elapsed_time)
        return response

这些是时代:

在此处输入图像描述

您知道问题出在哪里以及如何解决吗?

4

0 回答 0