I used IPC::DirQueue for a small project, managing a queue of about 80,000 small tasks of varying priorities, some of which could fail and need to be retried. The system was easy to get started with, and worked perfectly.
We have used this module for several months to manage a stream of video encoding jobs submitted by multiple servers to be processed on another. The queue directory is mounted over NFS and all of the inter-process communication and locking seems to work reliably.
1 hidden unhelpful review