try:
html = urlopen('http://glbse.com/api/asset/' + asset.name)
except:
print 'error while updating the price of ' + asset.name
continue
json_txt = html.read()
ticker = json.loads(json_txt)
average_price = int(ticker['t24havg'])
if average_price == 0:
average_price = int(ticker['t5davg'])
if average_price == 0:
average_price = int(ticker['t7davg'])
if average_price == 0:
average_price = int(ticker['latest_trade'])
if average_price == 0:
print 'could not determine the price of ' + asset.name
continue
asset.average_price = average_price
私はurlopenに機械化を使用しています。このコード (およびプログラムの残りの部分) は何時間も問題なく動作しているように見えますが、このセクションを何千回もループした後、コードのこのセクションのどこかで最終的にハングします。
無期限にハングします。私はそれが何時間もそこにぶら下がっていたことを発見するために戻ってきました。
問題をグーグルで検索すると、数年前に修正されたと報告されている .read() で実行がハングする、同様の問題のレポートが表示されます。
実行がハングする原因は何ですか?どうすれば修正または回避できますか?