about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/forge.skb5
-rw-r--r--guix/forge/gunicorn.scm6
2 files changed, 9 insertions, 2 deletions
diff --git a/doc/forge.skb b/doc/forge.skb
index 3dae6f7..98ae9db 100644
--- a/doc/forge.skb
+++ b/doc/forge.skb
@@ -1,5 +1,5 @@
 ;;; guix-forge --- Guix software forge meta-service
-;;; Copyright © 2022, 2023 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2022–2024 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of guix-forge.
 ;;;
@@ -491,6 +491,9 @@ gunicorn apps to run]))
 describing sockets to listen on])
            (record-field "workers"
              [Number of worker processes])
+           (record-field "timeout"
+             [Workers silent for more than this many seconds are
+killed and restarted.])
            (record-field "environment-variables"
              [List of ,(record-ref "<environment-variable>") objects
 describing environment variables that should be set in the execution
diff --git a/guix/forge/gunicorn.scm b/guix/forge/gunicorn.scm
index 9f5b2b2..148bd53 100644
--- a/guix/forge/gunicorn.scm
+++ b/guix/forge/gunicorn.scm
@@ -1,5 +1,5 @@
 ;;; guix-forge --- Guix software forge meta-service
-;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2023–2024 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of guix-forge.
 ;;;
@@ -50,6 +50,7 @@
             gunicorn-app-wsgi-app-module
             gunicorn-app-sockets
             gunicorn-app-workers
+            gunicorn-app-timeout
             gunicorn-app-environment-variables
             gunicorn-app-mappings))
 
@@ -78,6 +79,8 @@
            (default 1))
   (environment-variables gunicorn-app-environment-variables
                          (default '()))
+  (timeout gunicorn-app-timeout
+           (default 30))
   (mappings gunicorn-app-mappings
             (default '())))
 
@@ -183,6 +186,7 @@
                               ;; https://yhetil.org/guix/m1ilknoi5r.fsf@fastmail.net/
                               #:namespaces (delq 'net %namespaces))
                            "--workers" #$(number->string (gunicorn-app-workers app))
+                           "--timeout" #$(number->string (gunicorn-app-timeout app))
                            (list #$@(append (append-map (lambda (socket)
                                                           (list "--bind"
                                                                 (socket->gunicorn-bind socket)))