Как отправлять сообщение через каждый определенный промежуток времени в django websocket?
Когда пользователь запрашивает пост, сервер посылает информацию о ходе работы на websocket
Когда процесс завершен, отправьте сообщение о его завершении.
Затем javascript получает сообщение и запрашивает доступ к определенному url. Сервер выполняет ответ филера.
Вопрос здесь в том, как реальный сервис проверяет прогресс асинхронно...
Прежде всего, код выглядит следующим образом.
class GifConsumer(WebsocketConsumer):
....
def receive(self, text_data):
...
t = downloand_video.delay(data) # celery
while not t.ready():
# async_to_sync(asyncio.sleep)(1)
self.send(text_data=json.dumps({
'message': "Doing"
}))
self.send(text_data=json.dumps({
'message': "Done"
}))
Код постоянно проверяет состояние с помощью операторов while, поэтому кажется, что он тратит слишком много ресурсов.
Как я могу изменить это? Если использовать sleep, то веб-сервер будет спать.
Итак, я не думаю, что могу даже запросить get, post.