Module of the day: IPC::JobQueue
There I was cleaning up my "presentation inbox" when I came across the Scary Jifty presentation by Jesse Vincent. He's crazy, in a very sane sort of way.
Anyway in the middle of the presentation he mentions IPC::PubSub which is a nice publish/subscribe system that you can embed into your own applications.
But the prize came in the SEE ALSO section of IPC::PubSub: IPC::DirQueue. I can't remmember how many times I needed something like this. Amazing stuff.
It allows you to create a set of worker processes sharing a single job queue. Clients queue jobs, and a worker gets it. The system assures you that each job will only be processed by a single worker.
Very simple and nice.
I need to read the code and compare it to Gearman, given that IPC::DirQueue also includes a TCP-based server.