-
Notifications
You must be signed in to change notification settings - Fork 47
Description
I've been using the library as a distributed job processor across over a dozen VM's, but scaling has not been the best experience.
Right now I have a Linux VM that runs a dotnet process as a systemd service. That process represents a single executor.
I templatized the service so I can spin up multiple copies, and run 20 instances of the dotnet service per server. I can then replicate this across more servers as needed.
But I find that I don't do a good job of estimating how much CPU usage my jobs actually take, and adding/removing systemd services is a bit of a nuisance across more than a dozen VM's. I'd prefer if I could define the number of executors in code and run a single process with multiple job executors.
So a single VM, with a single dotnet service, that contains multiple job listeners in the process.
Any ideas on how to implement this? I was thinking maybe a thread pool, but I wasn't sure what your experience had been.