また15分ごとの秒が0秒近似値で15分ごとのタスク実行も考えているのですが、
scheduleを複数実装する場合、どのような処理を行えばいいのでしょうか?
ご質問にある実験結果を見ますにそこそこの精度で起動してくれているように見えます。sleepの時間間隔を測ると分かりますがもともとそれほど高い精度でsleepしているわけではありません。数十ミリ秒ぐらいの誤差は普通にあると思います。
おそらく1秒程度の誤差は許容する必要があるのではないでしょうか?しかし0秒誤差を期待するのは無理と思います。
なるべく起動誤差を減らすなら1秒単位でsleepするのではなく0.1秒単位にするといった工夫をするとなんらかの効果があるかも知れません。しかし、分単位の定期処理に対して0.1秒単位でsleepしても詮無い気がします。計算機の定期処理にそれほどの精度を望まない方がよいのではないでしょうか。
もし起動タイミングが重要なら(例えばなんらかの変化を連続的に記録する目的なら)考え方を変えて「いつ起動されたかを記録しておき、各起動時刻を加味した集計計算をする」という考え方もあるかと思います。
Webサーバーなど長時間動作させるプログラムについて、プロセスの消費メモリーが肥大化して調べるのに苦労したなんて記事を見かけたことがありますが、そういうことを調査するのは大変と思います。「X分ごとに何かするpythonのプログラムを作る」というなら、そんな点も頭の片隅においておくとよいかも知れません。
実行時間を各分の00秒に実行する場合はどのような処理を行うとよろしいでしょうか?
おっしゃられていた通り、コンマ秒の誤差は気にしないようにします。
詳しくご回答いただきありがとうございます! 15分単位での起動方法も承知致しました。 誤差の部分はやはり仕方がない部分になるのですね。 質問がわかりにくくて申し訳ないのですが、 実行時間を各分の00秒に実行する場合はどのような処理を行うとよろしいでしょうか? おっしゃられていた通り、コンマ秒の誤差は気にしないようにします。
ご回答ありがとうございます! ループに入る前に待つ実装でも良さそうですね! 参考になりました!
多分、タスク実行時の秒数が揃っていないのが気になってらっしゃると思われたので、以下のコードでどうでしょうか?
15分間隔の方は、少し考えてもうまい方法を思いつきませんでした!
ありがとうございます! 15分は応用すれば行けそうな気がします!