background_fuで「あとでやる」処理を書く

railsを使って「あとでやる」処理を実現する方法について
rubyのMLに回答をしてみたので、内容をここにも書いておきます。
質問メールは以下の通り。

RubyRailsも初心者なのですが、
現在、Railsで簡単なtwitterbotを作成しています。
Railsで作った設定画面から、投稿間隔の設定を
行い、後で変更できるようにもしたいのですが、
良いやり方がいまいち思いつかず、
困っています。

今のところ、考えているものは以下です。
1、cronで実行
2、backgroundrbで実行
3、タイマーでループ回して処理
  (投稿間隔はDBから取得)

投稿間隔の設定ができるボット作成サイトなどは、
結構あるみたいなので、なんらかの方法でできると
思うのですが、恥ずかしながら、やり方がわからず、
質問させていただきました。できれば簡単な方法
でやりたいと思っています。

僕の回答は以下。

> > 2、backgroundrbで実行
> > 3、タイマーでループ回して処理

background_fu を使って投稿の間隔を設定する方法を大雑把に紹介します。
(タイマーうんぬんはbackground_fuの仕組みがケアしてくれます。)

background_fu は以下な感じでデーモンとして起動させておきます。

ruby script/daemons start

デーモンはjobsテーブルを5秒間隔(設定で変更可能)で
selectします。

処理してよいJobがあれば実行します。
(処理してよい => 未処理 && 開始時刻過ぎてる)

実行する処理はlib/worker以下にクラスを作っておきます。

JobにはWorkerのクラス名、メソッド名、引数、実行開始時刻
を入れておきます。

Job.create!
:worker_class => 実行するWorkerのクラス名,
:worker_method => 実行するWorkerのメソッド名,
:args => メソッドの引数,
:start_at => 実行開始時刻

みたいな感じ。