@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)  сам парсер
           Обращение к бд  Предположительно он должен записывать значение в во второй столбец         
 }"""

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

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

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

Похожие вопросы