После того как клиент коннектится к сокетам, на сервере срабатывает функция которая обрабатывается около 1 -2 секунд, затем возвращает результат клиенту через вебсокеты. Проблема в том что если десять раз подряд перезагрузить страницу, то функция будут обрабатываться десять раз и затем эти данные летят в молоко, что порождает ошибку:
2018-12-13 11:14:38,459 WARNING Application instance <Task pending coro=<SessionMiddlewareInstance.__call__() running at /var/www/my_project/.venv/lib/python3.6/site-packages/channels/sessions.py:179> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.6/asyncio/futures.py:407, <TaskWakeupMethWrapper object at 0x7f6bc08826d8>()]>> for connection <WebSocketProtocol client=['my_ip', 63499] path=b'/ws/ticket/12/24/'> took too long to shut down and was killed.
А следущий клиент будет ждать около полу минуты, чтобы пришел ответ от websocket.
Как быть? возможно ли решить проблему на уровне nginx ?
Django 2
Django channels daphne