У меня есть клиентское приложение Android, которое отправляет некоторые данные на сервер в Python, где предполагается, что сервер Python должен выполнить длительную операцию / вычисления и вернуть результаты клиенту.
ToДля этого я сначала начал использовать Flask с Python на стороне сервера и асинхронную библиотеку Android на стороне клиента для отправки данных через HTTP POST.Однако я быстро заметил, что это не тот путь, потому что вычисления на сервере требуют времени, что приводит к таким проблемам, как клиент, получающий ошибки тайм-аута ... и т. Д.
Затем я начал использовать Веб-сокеты Торнадо на стороне сервера и библиотека Android для веб-сокетов на стороне клиента.Тем не менее, первая основная проблема заключается в том, что когда сервер выполняет длительную операцию для данного клиента, другим потенциальным клиентам нужно подождать ... и, кажется, немного затруднительно заставить торнадо работать в многопоточном режиме.настройка (так как изначально планировалось быть однопоточным).Еще одна небольшая проблема: если клиент отключается от сети, когда сервер обрабатывает его запрос, клиент может никогда не получить результат при обратном соединении.
Поэтому я хотел бы спросить, есть ли у вас какие-либорешения или рекомендации о том, что использовать, если я хочу иметь такую настройку с асинхронным многопоточным сервером Python, который должен выполнять сложные вычисления с данными клиента, не заставляя других потенциальных клиентов ждать своей очереди;и потенциально делает клиента способным получить результат от сервера, когда он подключается обратно.