• Агрегация большого кол-ва записей из БД?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Посоветую elasicsearch. Закидывайте в него свои данные (в вашем случае подойдет и logstash). Индексы бейте или на месяцы или на недели, организуйте их по годам/месяцам/дням через алиасы. Отчеты можете делать или через kibana, или сами дергать агрегированные данные из своих приложений. Индексы удобно ротировать, архивировать и удалять старые.
    И будет щазтие.
    Ну и да, если у вас только аналитика этих данных, то мускул здесь совсем не нужен!
    Ответ написан
    2 комментария
  • Почему Connection aborted при подключении к существующему URL Яндекс Погоды?

    @Damakshn
    По всей видимости, ЯндексПогода принимает вашу программу за бота и сбрасывает соединение. Чтобы этого избежать, нужно притвориться браузером, т.е. сделать так, чтобы отправляемый программой http-запрос имел заголовок User-agent. Плюс может потребоваться запрашивать данные несколько раз по этой же причине (вылезает ошибка RemoteDisconnected). Я использовал сессии, получилось.

    import requests
    headers = {'User-agent':'Mozilla/5.0','Referer':'http://www.python.org/'}
    session = requests.Session()
    adapter = requests.adapters.HTTPAdapter(max_retries=10)
    session.mount('http://', adapter)
    # запрашиваем нужные урлы
    for url in urls:    
        response = session.request('GET', url, headers = headers)
        # делаем что-то с response...
        reponse.close()
    session.close()

    Ещё могут быть проблемы из-за старой версии Питона, писал в 2.7 через urllib2 - не работало, в 3.5 - все норм.
    Ответ написан
    Комментировать