Yes, you can change the /config/hoirzon.php setup and add more "supervisors" to listen on different queues. For instance, I have 3 different "supervisors" setup:
'production' => [
'supervisor-1' => [
'connection' => 'redis',
'queue' => ['default','property'],
'balance' => 'auto',
'processes' => 14,
'tries' => 3,
],
'supervisor-2' => [
'connection' => 'redis',
'queue' => ['photos'],
'balance' => 'simple',
'processes' => 10,
'tries' => 3,
],
'supervisor-3' => [
'connection' => 'redis',
'queue' => ['photo-delete'],
'balance' => 'simple',
'processes' => 3,
'tries' => 2,
],
],
In my "supervisor" file it is purely running Laravel Horizon.... different than my Beanstalkd (different site/project) where I have multiple queues setup in the supervisor conf files.
BIG thing I have learned in last couple of days though is Horizon seems to CACHE EVERYTHING! If your "job code" needs updating, you have to terminate Horizon and start it back up again -- or it won't pick up on your updated "job" code. Multiple times I have terminated Horizon and then even rebooted server (unfortunately) to clear the "internal Horizon cache".