今回、一定間隔ごと(10秒ごと、1分ごと)にプログラムを実行するコードを書こうとしてかなり悪戦苦闘したので、それをブログ記事にしようと思います。もともと作ろうとしていたのは、複数の仮想通貨取引所のAPIから仮想通貨の売買価格をとって、それをJSONなり、DBなりに保存しようとするものです。timeモジュールのtime.sleep関数を使えば楽じゃないかと思いますが、これを使うと「プログラミング時間+スリープ時間(time.sleep関数で指定した時間)」で実行されていくため、厳密な間隔での実行になりきらないという問題点があります。この問題を解決するのに、意外に時間がかかったというところです。で、この問題の解法として、今回threadingモジュールを利用しました。コードは以下になります。 import time, threading def timekeep(): #インターバル用関数 t
