diff --git a/hosts/weinturm-pretix-prod/services/pretix.nix b/hosts/weinturm-pretix-prod/services/pretix.nix index 908d469..78c7026 100644 --- a/hosts/weinturm-pretix-prod/services/pretix.nix +++ b/hosts/weinturm-pretix-prod/services/pretix.nix @@ -30,6 +30,7 @@ in "mail@jalr.de" ]; }; + gunicornWorkers = 32; }; services.nginx = { diff --git a/pkgs/pretix/module.nix b/pkgs/pretix/module.nix index da43907..c2f851a 100644 --- a/pkgs/pretix/module.nix +++ b/pkgs/pretix/module.nix @@ -106,6 +106,11 @@ in type = types.path; description = "Path to the sops secrets file which stores pretix.cfg settings."; }; + gunicornWorkers = mkOption { + type = types.int; + description = "Number of gunicorn workers. Recommended is roughly two times the number of CPU cores available."; + default = 2; + }; mail = { enable = mkEnableOption "Enables or disables emailing."; from = mkOption { @@ -232,7 +237,7 @@ in set -euo pipefail export PRETIX_CONFIG_FILE="$CREDENTIALS_DIRECTORY/config" exec ${pythonPackages.gunicorn}/bin/gunicorn pretix.wsgi --name ${name} \ - --workers 3 \ + --workers ${toString cfg.gunicornWorkers} \ --log-level=info \ --bind=${bind.host}:${toString bind.port} '';