2017/08/30
_ [Python][FX]Tickデータを保存するプログラムが不調
2017年4月19日の日記 の頃から、OANDA REST API を使って stream な Tickデータを取得し、 自前で OHLC 化して DBに保存し続けるプログラムを稼働させてきた。
でも、数時間から数日ごとに不定期に例外が発生して処理が中断されてしまう (>_<)
長らくアレコレ試してみたけど、例外の発生箇所を調べてみるとこんな感じ。
Traceback (most recent call last):
File "/path/myprogram.py", line xxx, in <module>
demo(displayHeartbeat)
File "/path/myprogram.py", line yyy, in demo
for line in rilines:
...(snip)...
File "/usr/local/lib/python2.7/site-packages/requests/utils.py", line 435, in stream_decode_response_unicode
for item in iterator:
File "/usr/local/lib/python2.7/site-packages/requests/models.py", line 750, in generate
raise ChunkedEncodingError(e)
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
で、ChunkedEncodingError でググってみても良さげな解決方法が見当たらず、 どうせ IncompleteRead なのであれば、この例外が発生したら再接続する! ということにした。
これで暫く様子見だな。
参考にさせて頂いたサイト:
[ツッコミを入れる]