quebert
quebert copied to clipboard
A pluggable worker queue framework inspired by Beanstalk. This puppy is used in a production Rails environment at Poll Everywhere.
It would be nice to be able to get the status of a quebert job. I would expect to be able to tell if a job is not started, in...
The Beanstalk backend seems to support it. But with the Sync backend I get this error: ```ruby ArgumentError: missing keyword: my_keyword_arguement ``` whenever I call `enqueue`.
The current default behavior of the quebert worker loop is to exit the `quebert` process when an exception is raised: https://github.com/polleverywhere/quebert/blob/master/lib/quebert/worker.rb#L33 Change the default to log the exception and bury...
``` sh $ quebert -v quebert: version unknown ```
Remove all documentation and code related to `Foo.new.async_send(:bar, 'fizz')` methods and replace with `Foo.new.async.bar('fizz')`
Get rid of the `log_file_path` from configuration. Change the `logger=` setter to accept strings or Logger objects. If a string is provided, assume its a path and stuff int into...
In the `perform!` method in job.rb, we're firing a bunch of hooks: ``` ruby def perform! Quebert.config.before_job(self) Quebert.config.around_job(self) # Honor the timeout and kill the job in ruby-space. Beanstalk #...
Quebert jobs raise classes that are caught by Quebert controllers to manage job life-cycles. Refactor jobs to call methods on the controller. e.g. `job.retry` could call `controller.retry(job)` if the retry...
Job priorities currently live in the `Jobs` class at https://github.com/polleverywhere/quebert/blob/multiple-tubes/lib/quebert/job.rb#L11-17 in a way that's specific to the Beanstalkd backend. Move priorities into something that looks like `Set` that has a...
When deserializing a job off of beanstalk via `Job.deserialize`, assert the correct keys exist in the JSON `job, args, ttr, ...` exist and that no other, invalid keys exist. If...