1.text 型で :data というカラムを持った Async というモデルを作る。
2.アプリケーションから非同期になにかやりたい時は {:method => 処理の名称, :args => 引数} みたいな感じのハッシュを JSON 化して Async のインスタンスを create する
3.Async の中身を見て、何かあったら :method の処理に :args の引数を渡して走らせ、終ったら対象を destroy するというメソッドをどっかに作って cron で ./script/runner 経由で回す
このやり方であれば標準のテスト機構や RSpec で非同期処理の全てをちゃんとカヴァー出来るテストを特別な配慮無しに書けるんじゃないかと思う。
並列化したい場合はロックの為のカラムを Async に作って、メソッドを並列に回せばいいと思います。
3.まとめ
だらだらと適当に書いた感じですが、 Rails では非同期処理もとても簡単なので、やってみればいいんじゃないでしょうか。