Assessment of Quebert & Backburner to figure out how to merge the two.
- Build out an
async
proxy in place of #async_send so that TTR, delays, and priority can be specified in a cleaner way. This looks something likeUser.new.async(delay: 3).send(:notify_user)
as opposed to the currentUser.new.async_send(:notify_user, :quebert => {delay: 3, pri: 1000})
- Quebert supports many back-ends: InProcess, Sync, and Beanstalk. Sync and InProcess were created to aid with testing assertions so that
Quebert.backend.queue.should have(1).items
is possible. It only needs Beanstalk, so the multiple-backends could be removed for the sake of simplicity. A stub could be provided for peeps that want to assert jobs are thrown on the queue in a test env. - There's a controller layer between the Job and the Backend that communicates using exceptions, which is suppose to deal with multiple backends. Eww. I want to just pass a controller into the job and have it deal.