From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms8.migadu.com with LMTPS id GAyMBB95smU1CgAA62LTzQ:P1 (envelope-from ) for ; Thu, 25 Jan 2024 16:07:11 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id GAyMBB95smU1CgAA62LTzQ (envelope-from ) for ; Thu, 25 Jan 2024 16:07:11 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b="QLMG/t+C"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1706195230; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=nxefXlDdfJe2KHWPI9rL0okPJol3PEXyHl0d2P8Im3k=; b=kHASHs9SuTphryFJA2GiftmbM14KEAjyppiZ9JkM7nb4C6nPimJbwA7vDYO1x4sLzqfJF7 jrMUdc8aVhjJErTll39CICnyyhkMcozAb+i1gFGd5lf3Y2jTmPvG3azpcDT11LsQ0Z7vl/ Gm+HKF410zkpMN5Cu1tzhnVe3ug1Gq0EI88AycLMGKZkFbU3VBBf1LgM628pTczRm5Jx0l 8J2JnsvxkHYDL+c5ESU1YbtJJVfwsy3YckRobNRfosFuj4l3+O6rTuDb6JlU0EIdJf8MUm raDAB6ZZ7uXl82buw1EqfL/Tbr21VdRo4YhSFidNwMgI2oaBGJ+BE0q+CqxBDg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20230601 header.b="QLMG/t+C"; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1706195230; a=rsa-sha256; cv=none; b=dnPp1Fe7Oqed5blzH4ZH5hxIhkHJD3bSqsS7VReTlwfODKCvhdiIlUguibTeQ6+GAE5t/Y 2SIWkkPgO44qEuLi85wseS+LbWFY2tYVa3PLj/BL+3enjhpuRTTLT9GR45Tf7l59S8KdXe +3xh1x3uBOKKGBbaiVgX9mpBEIVJpMyj/qU24wuPXZaaUQ719Pdw/5gZMQ0waO+Cg4s1hS Ou5qJsVHLiPAUTganbFKmCe8aoqWX1S/ldTrvOY6Nv7j/GilpxZTYdLAcwW1Wr6cXLNZZj 2EcJeZWil3bsmsR4yj+U9DqX6pzV5VZsobcjCp7OE+QzHebio0RQuy8NWo1KAw== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id BE0246D944 for ; Thu, 25 Jan 2024 16:07:10 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rT1Jl-0006VF-Up; Thu, 25 Jan 2024 10:07:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rT1Jk-0006Un-6g for guix-patches@gnu.org; Thu, 25 Jan 2024 10:07:00 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rT1Jg-0001v4-KL for guix-patches@gnu.org; Thu, 25 Jan 2024 10:06:58 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rT1Jm-0005ZF-4o for guix-patches@gnu.org; Thu, 25 Jan 2024 10:07:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#68468] [PATCH v2] gnu: services: Add respawn-limit and respawn-delay. References: <288643093baa2855c7b5f8cf1d9f6da2b378f965.1705315426.git.attila@lendvai.name> In-Reply-To: <288643093baa2855c7b5f8cf1d9f6da2b378f965.1705315426.git.attila@lendvai.name> Resent-From: attila.lendvai@gmail.com Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 25 Jan 2024 15:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68468 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 68468@debbugs.gnu.org Cc: Attila Lendvai Received: via spool by 68468-submit@debbugs.gnu.org id=B68468.170619517221345 (code B ref 68468); Thu, 25 Jan 2024 15:07:02 +0000 Received: (at 68468) by debbugs.gnu.org; 25 Jan 2024 15:06:12 +0000 Received: from localhost ([127.0.0.1]:48870 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT1Iy-0005YC-AR for submit@debbugs.gnu.org; Thu, 25 Jan 2024 10:06:12 -0500 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:42266) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rT1Iw-0005Xx-KI for 68468@debbugs.gnu.org; Thu, 25 Jan 2024 10:06:11 -0500 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-55a9008c185so1436382a12.1 for <68468@debbugs.gnu.org>; Thu, 25 Jan 2024 07:06:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706195159; x=1706799959; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nxefXlDdfJe2KHWPI9rL0okPJol3PEXyHl0d2P8Im3k=; b=QLMG/t+CR7z12xMi+qWSDvJfgev49CJ7xwjuCzI/Ekr7CRSR1K7pys6IjWMxUEsJR0 JzYYPTJ3zPmReCzd4XCK0+mJB9VJoNWXWlicPQV6MuyKHDeLJEd/BY+WPnu9FJWqTEiG xexPmzTp1oiZKZERpcST9+U42tiwJ5FMtiW5CVsY5JfaqawO6gvPc+9XLnhpwQluVIEN z3EHoM81lf4ejexPbBEw47gbMruggCK9BnWNLpRZgnoz4qKdlUOjoeoRrObp4x+zUPXs a47E5IUuRVYtETOLC9cpqDWX0RtGBS+QBUq4bFiJvRcOjDRjyPJYnwMIQWJEjtiCuLC8 9Gdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706195159; x=1706799959; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nxefXlDdfJe2KHWPI9rL0okPJol3PEXyHl0d2P8Im3k=; b=H/rE2NWZQmZ5XJ9frWqBsNeqLkqQuLV0kXrrMM7UPTe9d9dANAMyDlqfwLgdhrvw1L NG9t5CGVyTLj1loK10NJj7RsbJ5bG+d3Krh9ezySv1NAANi75fgKsr9Gqi+9/fPUpenh /dijRdwma9/prJznWzVPg4mFsihvOweMAs5rRjw5n6UPd3+wuTPzs286uhYJAYGjJXKM f+A0Ql2/j44wnhPc78TSTGtiTkkWZ9OzSL/AMzK/ATGU04JsW+iO8uayteTOUuXtU8wV K9lXLXrHe8Y5COse7lUyEARmEbYAMtyk9Fulu4IHbNrFP0I+zXkaxzYHIbYfheRTIijd XFlQ== X-Gm-Message-State: AOJu0Yy00oq7TeXEHN90fF3ySGUBy1No8qHO7OH20DJtvCrSAqsnxBqS 5tZvu/S7RTzlNQceRxpfmKh3D1O9tyadE7MTTJmS0K7yQlV0gdidFzFHk2k9Nck= X-Google-Smtp-Source: AGHT+IFRFgkdA4QZhQfjq4ICCFpKAWUrlEJSqJcREZ0l7OGnpsz1DG+b8oN4iYYAwzWq6Z4Glt+rTw== X-Received: by 2002:a50:9fa1:0:b0:559:b848:c9f3 with SMTP id c30-20020a509fa1000000b00559b848c9f3mr1108924edf.22.1706195158415; Thu, 25 Jan 2024 07:05:58 -0800 (PST) Received: from lelap.lan (2a00-1f40-b161-da0--9a4.pool6.panelnet.hu. [2a00:1f40:b161:da0::9a4]) by smtp.gmail.com with ESMTPSA id i13-20020a056402054d00b0055c69e0751fsm3483076edx.3.2024.01.25.07.05.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 07:05:57 -0800 (PST) From: attila.lendvai@gmail.com X-Google-Original-From: attila@lendvai.name Date: Thu, 25 Jan 2024 16:05:41 +0100 Message-ID: <90823c237e0086ba1a0c64dffdf2cef00bbecc71.1706195140.git.attila@lendvai.name> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: guix-patches-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 2.84 X-Migadu-Queue-Id: BE0246D944 X-Spam-Score: 2.84 X-Migadu-Scanner: mx11.migadu.com X-TUID: /oFU8jZngpaM From: Attila Lendvai * gnu/services/shepherd.scm (): Add respawn-limit and respawn-delay. (shepherd-service-file): Emit the two values into the shepherd service constructor form. Change-Id: I54408e8fb4bcc0956d9610771bf5c566fdc2914c --- doc/guix.texi | 8 ++++++++ gnu/services/shepherd.scm | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index a66005ee9db..9f911643352 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -42888,6 +42888,14 @@ Shepherd Services Whether to restart the service when it stops, for instance when the underlying process dies. +@item @code{respawn-limit} (default: @code{#f}) +Set a limit on how many times and how frequently a service may be +restarted by Shepherd before it is disabled. See @pxref{Defining +Services,,, shepherd, The GNU Shepherd Manual} for details. + +@item @code{respawn-delay} (default: @code{#f}) +Wait @code{respawn-delay} seconds before restarting a failed service. + @item @code{start} @itemx @code{stop} (default: @code{#~(const #f)}) The @code{start} and @code{stop} fields refer to the Shepherd's diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 5ebac129cec..f5bcde721fe 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -55,6 +55,8 @@ (define-module (gnu services shepherd) shepherd-service-canonical-name shepherd-service-requirement shepherd-service-one-shot? + shepherd-service-respawn-limit + shepherd-service-respawn-delay shepherd-service-respawn? shepherd-service-start shepherd-service-stop @@ -211,6 +213,10 @@ (define-record-type* (default #f)) (respawn? shepherd-service-respawn? ;Boolean (default #t)) + (respawn-limit shepherd-service-respawn-limit + (default #f)) + (respawn-delay shepherd-service-respawn-delay + (default #f)) (start shepherd-service-start) ;g-expression (procedure) (stop shepherd-service-stop ;g-expression (procedure) (default #~(const #f))) @@ -309,6 +315,14 @@ (define (shepherd-service-file service) #:one-shot? '#$(shepherd-service-one-shot? service) #:respawn? '#$(shepherd-service-respawn? service) + #$@(if (shepherd-service-respawn-limit service) + `(#:respawn-limit + ,(shepherd-service-respawn-limit service)) + '()) + #$@(if (shepherd-service-respawn-delay service) + `(#:respawn-delay + ,(shepherd-service-respawn-delay service)) + '()) #:start #$(shepherd-service-start service) #:stop #$(shepherd-service-stop service) #:actions base-commit: 162d6a2fdd6af13272967c77347a54934ecb45e6 prerequisite-patch-id: 2adcd37ab1f0752ec27a4edabbabe1c65d88f122 -- 2.41.0