Sorry, I haven't used Minion in the past and cannot directly contribute. However, also at $work I am running a
multi stage scheduler that spawns external processes and keeps track of the results. It is not too hard to implement
this in Perl using lists (queues) of job-objects together with a specialised sort function.
As one building block, I can recommend Proc::Simple to run external processes or callbacks.
Worked here very reliable (Unix) for years with several 100k invocations per day and host.