Self sign-up has been disabled due to increased spam activity. If you want to get access, please send an email to a project owner (preferred) or at gitlab(at)nic(dot)cz. We apologize for the inconvenience.
Basically, we're not sure if it's a good idea to allow max-workers to be configured, capping the max number of workers. It could confuse users with workers option that determines the requred number of workers.
Currently, the maximum number of workers is also capped during validation by 10 workers per CPU.
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
On the 3rd line, you can see numprocs=8. That tells supervisord to internally prepare 8 instances which we can start later. If we would want to start more, we can't just call startProcess("kresd:kresd8"). We can start only instances numbered 0-7.
And sadly, we can't set numprocs=100000. Interactions with supervisord would become extremely slow. Especially asking for state of processes, because then it would list all 100000 processes to tell us they are stopped.
So currently, the number in numprocs is configurable and the user is not allowed to start more processes without restarting everything.
Recently, I've tried to get rid of this configuration option and configure it dynamically based on demand. There is however a major issue with that - supervisord does not apply the config until all instances of the particular config are stopped. So I've been trying to figure out a workaround for this limitation. But all options are somewhat sketchy and I don't like them. The easiest and most honest option to me seems to leave the configuration option available for power users and make the defaults such, that nobody is likely to run into this limitation. Do you agree or should I really try to remove it?
Additional to the configuration described above, manager also checks that you are not starting stupid amount of workers. It's not a problem to drop this validation, it's there just as a sanity check trying to stop accidental mistakes. If you set the number of workers to high, kresd+manager effectively become a sophisticated fork bomb.
Default: 256 sounds high enough to cover all except extreme deployments. Sounds good if the overhead there is still low enough for small devices. Anyway, we can easily adjust such details when the need arises. I can imagine that the default would depend on detected number of CPUs (during startup), too.