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.
It was easy to integrate this into an HTML::Mason site and we were able to use it to build a new AJAX-based feature on our first day without worrying about the usual browser dependencies. I'll be reaching for this regularly...
Sorting may seem "simple," and sometimes it is. But when you need to be able to dynamically sort things in unexpected ways and still be reasonably fast for non-trivial data sets, the complexity mounts. Scattering sort optimization logic in a dozen places throughout your application is a maintance nightmare. That's when you realize you need Sort::Maker.
I encountered this same need years ago, before Sort::Maker had been published, and ended up writing the Data::Sorting module, which uses many of the same techniques, but for future applications I think I'll reach for Sort::Maker first.
Hi, a quick response from the author of Class::MakeMethods to the earlier comment on this distribution: The organization and clarity of the documentation is a known problem with which I continue to struggle. Class::MakeMethods provides a big matrix of method types that differ in various minor ways, and it's hard for me to see how to best present those choices to the new user. (The top item in the ToDo file is "Make sure that the documentation is broken up into appropriately-sized chunks, and that people will know which section to look at.")
While it's nice to hear that others are "willing to help if necessary" I'm not sure how to interpret "necessary." I've already spent some "serious time" trying to improve the documentation, with mixed results. The few documentation patches that I've received have all been incorporated. If anyone else is willing to help improve the documentation, their help would be warmly appreciated. (The ReadMe specifically states that "I would be particularly interested in any suggestions towards improving the documentation...") Patches, new documents, suggestions, or specific complaints through any of the typical feedback channels would all be welcome. Thanks!
Excellent tool; a valuable assistance to module authors in improving their tests. Documentation may seem a bit skimpy, but if you just install and run it, the reports it produces are mostly self-explanatory.