@gavnocoder

Вопрос про многопоточность и параллельность :?

Можно ли его как нить распараллелить с помощью процессоров или еще как то ?

FROM FASTAPI IMPORT FASTAPI
@app.on_event("startup")event from fastapi
@repeat_every(seconds=60) # from fastapi_utils.tasks import repeat_every
def parse_weather(db: Session = Depends(get_db)):
        """
        for city in db.query(Weanter.city).all возращается из 1 столбца
          weather_mgr = owm.weather_manager() Обьект сокета к api парсеру openweathermap
          observation = weather_mgr.weather_at_place(city)  сам парсер
           Обращение к бд  Предположительно он должен записывать значение в во второй столбец         
 }"""

Это примерный код и он даже работает но выполняется очень медленно

Какие есть предложения?
Знаю то что можно этот вызов к бд распараллелить на несколько процессов , можно есть еще какие-нибудь варианты
  • Вопрос задан
  • 149 просмотров
Пригласить эксперта
Ответы на вопрос 1
@xibolba
Много времени уходит на запрос/ответ, что бы ускориться -> по умному нужно использовать асинхронность. Тогда код выполнится по времени равном ~ самому длительному запросу. Тут даже может встать вопрос, что бы замедлиться, если сервер рвать связь начнет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы