lua-resty-qless is a binding to "qless-core", which is a powerful Redis based job queueing system inspired by resque (Ruby), but built as a collection of Lua scripts which run internally within Redis:
https://github.com/seomoz/qless-core
This binding provides a full implementation of qless, where you can put / tag / track jobs, create recurring jobs, set priorities and job-to-job dependencies etc. Moreover, qless ensures jobs never get dropped on the floor. If a job does not heartbeat within a configurable amount of time, the job is put back for another worker to try.
The module also includes a worker which can be started during the "init_worker_by_lua" phase.
Essentially, with this module and a modern Redis instance, you can turn your OpenResty server into a sophisticated job queuing system.
Much of the design and almost all of the documentation is borrowed from the reference (Ruby) implementation. In fact there are some slightly unusual (for Lua) semantics employed to ensure it operates broadly as the Ruby version does:
https://github.com/seomoz/qless
It's also worth mentioning that jobs "put" by OpenResty are compatible with the Ruby implementation (job data is just JSON), so you don't have to run workers locally in OpenResty if you have a reason not to.
This is new and experimental, but though it useful to share. Feedback most welcome!
James.