自分で似たようなのを作りたいので resque のソースコードを読む。
- 2.0.0 でインタフェースが変わって後方互換性とか気にしてるっぽくてソース読むには悪いタイミングっぽい
- rake と thor の両方をサポートしてたり
- perform なのか work なのか
- rdoc File: README — Documentation for resque (1.24.1)
- QUEUE=* っていうのもできる
- INTERVAL 指定
- プロセスの扱いは真似したい worker が親プロセスになって子プロセスを fork する仕組み
- これによってメモリが増大しても大丈夫みたいなことになってるっぽい
- Resque.inline
- config は Resque.config= で initializers とかで渡してください
- god や monit と連携する例が examples にある
- "Because Resque assumes chaos."
- redis が提供している blpop みたいな atomic な操作をどうやって実現するか
- プロセス周りを勉強する必要ありそう (CONT とか USR1 とか…)
- mutex_m を勉強する必要ありそう
- redis じゃないと実現できない機能
- workers 管理 *
- failures 管理
- failure hook を使えるようにすれば良さそう
- 1.X 系だと Queue(Resqueクラス)/Worker/Job というのがメインの構成要素
- reserve メソッドとかいろいろな同名のメソッドがいろんなところに定義されていて割とわけ分らなくなっている
- Resque (resque.rb)
- Resque::Queue