I am attempting to reinvent a wheel. One that has many variants on CPAN, and that is the lowly job queue. I know that there is Gearman, POE::Component::JobQueue, POEx::WorkerPool, Helios, Swarmage, TheSchwartz, and probably a couple of more I don't know about, but nothing really did what I need. So I am back starting from scratch.
- Reliable - Jobs must not get lost
- Data store independent - true data store independence with support for multiple backends
- Simple - No complicated features built into the core
- Multiple Client Support
- Documented - Well defined and documented APIs
- Tested - Generic tests for APIs that are independent of the implementation details
Initially, TheSchwartz seemed to do everything I wanted, but the documentation is lacking and it relies on a SQL database as the store. Additionally, the tests failed when I attempted to install it and it's pretty clear that Brad is no longer maintaining it, so I guess it's time todo it myself.
At this point, I'm kind of lost, but I think that if I pay close attention to the design of the API, I will come up with something worth putting on the CPAN. For now, you can see the progress at:http://github.com/groditi/Cantella-JobQueue