ユーザーの操作なしで、twython アプリケーションを長時間実行したままにできるようにしたいと考えています。それは単に私に向けられたつぶやきを出力するだけです。プログラムは動作していますが、しばらくすると次のエラーが発生します。
HTTPSConnectionPool(host='api.twitter.com', port=443): Max retries exceeded with url: /1.1/statuses/mentions_timeline.json?count=20&since_id=392227122070056960 (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
ストリーミングではなく、REST API を使用しています。twython オブジェクトは次のように作成されます。
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
次に、次の方法でメンションを取得します。
mentions = twitter.get_mentions_timeline(count=20,since_id=sinceID)
コードは約 10 分ごとに再チェックし、最新の since_id を追跡して、新しいツイートのみを出力します。
質問:
1) エラーは twython エラーですか、それとも python ネットワーク ライブラリ エラーですか?
2) このエラーが発生した場合、プログラムを再起動せずに Twitter サーバーとの接続を再確立する正しい方法は何ですか? 最初に twython オブジェクトを破棄してから再作成し、サーバーで再認証する必要がありますか? twython のドキュメントでは、ストリーミング API を使用しているときに接続を閉じることについてのみ言及されています。
アドバイスをいただければ幸いです。