Introducing extended app process management.

- Pre-fork 'processes.spare' application processes;
- fork more processes to keep 'processes.spare' idle processes;
- fork on-demand up to 'processes.max' count;
- scale down idle application processes above 'processes.spare' after
  'processes.idle_timeout';
- number of concurrently started application processes also limited by
  'processes.spare' (or 1, if spare is 0).
This commit is contained in:
Max Romanov
2018-01-29 16:17:36 +03:00
parent a36babddef
commit 9cd4fdbdb7
16 changed files with 984 additions and 139 deletions

View File

@@ -19,7 +19,7 @@ class TestUnitApplication(unit.TestUnitControl):
"applications": {
"app": {
"type": "python",
"workers": 1,
"processes": { "spare": 0 },
"path": self.testdir + '/' + name,
"module": "wsgi"
}