With pheanstalk (or other libraries), if you want to accept jobs from multiple queues, just watch them.
$pheanstalk->watch('testtube')
->watch('tube2')
->watch('tube3');
$pheanstalk->reserve();
Regarding worker processing, I'm currently using Supervisord for some very similar scenarios that I want to keep working. Its a python-based daemon, where the script you want to run is listed in a very simple configuration file. (adding more workers literally changes one number and reloads the configuration).
, , running-the-worker. Supervisord script. script PHP, , , ( exit($x)). () 99, script, . , - , , .