ドテン君botが止まる時の対応策 result エラーの場合

Traceback (most recent call last):
File “./dotenkun.py”, line 9999, in <module>
ohlcv = json[‘result’][‘9999’]
KeyError: ‘result’

こんなエラー出ました。

ドテン君bot(bitFlyer版)を稼働している時に、急に上記のようなエラーを吐き出している場合があります。※パラメータの部分は変更してあります。

色々と調べた結果、それほど問題のあるエラーではないような感じですね。

このエラーが表示される場合でも、そのまま放置しておけば、しばらくするとまた正常に動いている場合が多いです。

初心者なりに調べてみた結果をまとめます。

このエラーの意味をざっくり言うと、Cryptowat.chというサイトからAPIデータを取得する時にエラーが発生した。ということです。なので、ドテン君自体のエラーではありません。

なぜデータ取得エラーになるかというと、1時間当たりのCPU使用率が制限されていて、それを超えた時にエラーが出る。ということです。

この使用できるCPU時間がallowanceという数値で表され、1時間あたり800,0000,000nsのCPU時間が割り振られています。めちゃくちゃでかい数字ですが実際は8秒です。

これを使い切ると、しばらくお預けということで、その間エラー表示になっています。botの稼働ループ自体は続いてました。

対応することがあるとすれば、sleepの値を大きくしてループの間隔を遅くするくらいでしょうか。それか普通にあきらめて待っていればその内直るパターンが多いです。

bitFlyerのようにサーバーが重くて弾かれているわけではなく、Cryptowat.chのもともとの仕様なので仕方がないですね。

そもそもなんでCryptowat.chというサイトを利用するかというと、bitFlyerのAPIでは現在の価格情報しか提供されていないため、過去のチャートデータを取得するためにCryptowat.cを利用する。ということです。ドテン君使ってたくせに今まで知らなかったのかよというツッコミがありそうですが…。

以上、result エラーはとりあえず大した問題ではないっぽい。という話でした。

上級者の方へ:間違えているところがあればご指摘いただければ編集・追記いたします。

初心者の方へ:細かいことは知らないので質問はやめてくださいw

※こちらの記事も読まれています

AWS Cloud9でbotを動かしている時に勝手に止まってしまう場合の対処方法について簡単に紹介したいと思います。...

「銭ナビ」の記事を読んでくれてありがとうございます。

 

note 始めました。

Feedly を使うと最新のブログ記事が自動で届きます。