Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
なぜこれがうまくいかないのかを理解しようとしています:
loop do started = Time.now # do stuff ended = Time.now - started if 5.minutes > ended sleep ended end end
現在のコードは、元のプロセスにかかった時間 ( の値ended) だけスリープします。これにより、ループ時間全体の半分が「何かをしている」、半分がスリープ状態になります。おそらく、睡眠ラインを次のように変更する必要があります
ended
sleep 5.minutes - ended
代わりに、私が質問を正しく理解し、完了するまでにかかる時間を考慮して、5 分ごとに 1 回プロセスを実行したい場合。
cronループに到達するまでのセットアップ時間がそれほど長くない場合は、代わりに使用を検討することをお勧めします。
cron