We currently use rabbitmq for message between our web application and asynchronous workers. The worker management is somewhat ad hoc, and we're looking for a way to get a better handle on them.
It looks like POE has the components that I want, so it's finally time for me to learn about POE. But there's an awful lot of POE material out there, and I'm afraid if I try to digest it all I'll have made a lot of false starts before I find the right path. Can anybody tell me if I'm going in the right direction, or if there's already something out there that does this? I think I want to use POE as a job server driven by the AMQP POE client, with workers in separate child processes handled by something like POE::Component::Daemon (which has a scoreboard) or POE::Wheel::Run. I'd like to be able to query the server on a management port with questions like - How many messages per queue are you receiving - What's the completion time for jobs on each queue - How idle/busy are your child workers? It should be able to take commands like "add or drop these queues", and it should automatically take care of tasks like making sure no queue is being starved in favor of another queue. Is this the right idea? Is there a general direction for this that would be obvious to sketch out that would save me having to understand every example in the poe cookbook? Any pointers would be appreciated. Thanks!