Сброс соединения по пиру - Reddit API

Я пытаюсь создать долгосрочный скрипт Python, который периодически запрашивает Reddit для новых материалов/комментариев, используя PRAW 4.4.0, и сначала я инициализирую объект следующим образом:

redditClient = praw.Reddit(
    client_id=constants.REDDIT_CLIENT_ID,
    client_secret=constants.REDDIT_CLIENT_SECRET,
    user_agent=constants.REDDIT_USER_AGENT
)

Через некоторое время я получаю следующую ошибку:

ошибка с запросом («Соединение прервано», ошибка (104, «Соединение сброшено партнером»))

Я предполагаю, что это происходит потому, что я держу соединение открытым, но я не нашел способа, как его закрыть. Можете ли вы помочь мне понять, как решить эту проблему?


person Dorin    schedule 02.03.2017    source источник
comment
Почему вы не можете просто повторить попытку при получении ошибки 104? И когда 500 тоже получено, если уж на то пошло.   -  person 9000    schedule 02.03.2017
comment
Если praw выполняет кэширование соединений (но горячую обработку устаревших соединений), вы увидите это. Подход @ 9000 правильный, хотя, возможно, стоит покопаться в praw, чтобы увидеть, так ли это.   -  person David Ehrmann    schedule 02.03.2017


Ответы (1)


Хотя вы можете повторить эти запросы самостоятельно, на самом деле это то, что PRAW должен обрабатывать внутри, и на самом деле последняя разрабатываемая версия prawcore (внутренняя библиотека PRAW) поддерживает повторные запросы, которые терпят неудачу таким образом.

Чтобы поэкспериментировать с этой разрабатываемой версией, обновите prawcore через:

pip install -U https://github.com/praw-dev/prawcore/zipball/master
person bboe    schedule 27.03.2017