Django почему этот код блокирует http запросы

Вот модуль:

import threading
import time
import pandas as pd

from binance.client import Client
import json

from api_create_alert.models import Alerts
from service_get_data.get_api_secret import get_secret

alerts = Alerts.objects.all().values()
df = pd.DataFrame(alerts)

data = get_secret()
data = json.loads(data)
client = Client(data['BINANCE_PUBLIC_API'], data['BINANCE_SECRET_API'])



def price_watch():
    interval = 10

    while True:
        coins = client.get_all_tickers()

        for coin in coins:
            symbol = coin['symbol']
            price = float(coin['price'])
            rows = df[((df.symbol == symbol) & (df.direction == 'ABOVE') & (price > df.price)) | ((df.symbol == symbol) & (df.direction == 'BELOW') & (price < df.price))]

            if len(rows) > 0:
                print(rows)

        time.sleep(interval)


thread = threading.Thread(target=price_watch)
thread.start()

Импортируя его из apps.py:

def ready(self):
    if os.environ.get("RUN_MAIN") == "true":
        import service_price_watch.price_watch

Итак, это цикл, который запускается каждые 10 секунд, каждый раз, когда цикл запускается, приложение Django блокируется, ответ не принимается, пока цикл не завершится, теперь почему это происходит, когда я использую модуль threading, разве цель модуля threading не в том, чтобы делать Async операции?

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