Isolating Hangfire and Scheduler

Hello, I attempting to isolate jobs to specific machines by having each set to a different queue. So when using Schedule, Enqueue, or AddOrUpdate I provide the queue the job should run on. This seems to work except for the default queue and recurring jobs which seem to run on any server. For the default queue, I just stopped using it. However, for the recurring jobs, the scheduler tries to Activate the class and cannot find it as the jobs classes are isolated to the project that is responsible for running the queue. Is there a way to completely isolate the jobs in this way but still allow them to show in a single dashboard and storage?

Probably going to need a bit more info, here.

As part of configuring each “server”, you can (and should) define which queues that server handles. That prevents any jobs from other queues from being picked up by that server.

Last I recall, if you don’t specify any queues for a given server, then that server will try to run any enqueued job. There’s also a bug in the current release (which I think gets fixed in the next major release) where rescheduled jobs (jobs that failed and need to be retried) ignore the queue value and get picked up by any server.

You can host the dashboard in an app without also adding that app as a server. You’ll probably see errors in the summary shown for each job, but that’s just because the dashboard is trying to use reflection to display job metadata (as far as I can tell - haven’t looked too deeply at the source for the dashboard), but since it doesn’t have any references to each server, it can’t resolve anything. That doesn’t keep anything from running, it just means the dashboard can’t provide some of the information it wants to.