「外部で更新されるファイルを調べ、そこに書いてある時刻に再度自分自身を実行する」
ということをてきとーな時刻精度で繰り返し行わせたいです。

loop{
  メイン処理()
  外部ファイルを解析()
  現在から予定時刻までの秒数を計算()
  sleep(秒数)
}
とか

メイン処理()
外部ファイルを解析()
system('echo ./script.rb | at 何時何分')
exit

という方法しか思いつかなかったんですが、
「次回処理時刻を指定する」一般的な方法ってありますか?