Сделайте переменные промежуточного ПО django способными обрабатывать одновременные запросы

Мне нужно реализовать в django пользовательский middleware для подсчета количества запросов, обслуженных на данный момент. Это часть задания, которое я получил.

Я создал промежуточное ПО следующим образом

# myapp/middleware.py

from django.utils.deprecation import MiddlewareMixin

class RequestCounterMiddleware(MiddlewareMixin):
    request_count = 0

    def process_request(self, request):
        RequestCounterMiddleware.request_count += 1

    def process_response(self, request, response):
        return response

    @staticmethod
    def get_request_count():
        return RequestCounterMiddleware.request_count

Теперь мой вопрос в том, как сделать так, чтобы переменная request_count могла обрабатывать одновременные запросы и показывать правильное значение.

ChatGPT предложил использовать threading.Lock(). Будет ли это хорошим вариантом? Если нет, пожалуйста, предложите другой способ. Спасибо :)

Вернуться на верх