Django 3rd party API Event Loop?
Я совсем новичок в разработке back-end, поэтому прошу простить мое невежество.
Мне нужно подключить мой Django backend к стороннему API для получения данных о местоположении в реальном времени с GPS-трекеров. Это должно быть сделано на стороне сервера, так как это вызывает другие события, поэтому это не может быть просто запущено в браузере.
Какой лучший способ сделать это? До сих пор я думал о чем-то вроде цикла событий, который вызывает API каждые 60 секунд, но могу ли я запустить это, например, в отдельном потоке? И вообще, стоит ли это делать?
Возможно ли сделать что-то вроде websocket для связи моего бэкенда с третьей стороной? Как лучше всего обновлять эти данные?
Наконец, как можно масштабировать подобное решение, что если у меня есть 5,000 трекеров транспортных средств, которые все нуждаются в обновлении?
Любой совет будет очень признателен.
Спасибо.
вы можете создать пустую веб-страницу, которая запустит вашу внутреннюю логику,
и настройте cronjob, который будет посылать запрос get на эту страницу каждые 60 секунд,
он также будет начат в отдельной теме deafult.
вы можете масштабировать его, например, у вас есть 5000 автомобилей, просто разделите эту логику бэкенда на две разные функции (для каждого 2500 автомобилей) (которые будут запускаться двумя разными запросами get), и они будут работать независимо, на отдельных потоках)
или вы можете использовать asyncio для разделения вашей логики внутри одной функции, и все равно запускать ее асинхронно и раздельно