workers: Union[Literal["auto"], int] = 1
use_cache_gc: bool = True
backend: BackendEnum = "auto"
- watchdog: Union[Literal[False], WatchDogSchema] = False
+ watchdog: Union[bool, WatchDogSchema] = True
rundir: UncheckedPath = UncheckedPath(".")
management: ManagementSchema = ManagementSchema()
webmgmt: Optional[WebmgmtSchema] = None
workers: int
use_cache_gc: bool
backend: BackendEnum = "auto"
- watchdog: Union[Literal[False], WatchDogSchema]
+ watchdog: Union[bool, WatchDogSchema]
rundir: UncheckedPath = UncheckedPath(".")
management: ManagementSchema
webmgmt: Optional[WebmgmtSchema]
{% endif %}
{% if cfg.server.watchdog -%}
+-- server.watchdog
modules.load('watchdog')
+{% if cfg.server.watchdog.qname and cfg.server.watchdog.qtype -%}
watchdog.config({ qname = '{{ cfg.server.watchdog.qname }}', qtype = kres.type.{{ cfg.server.watchdog.qtype }} })
+{%- endif %}
{% else %}
modules.unload('watchdog')
{%- endif %}
),
),
("TimeoutStopUSec", GLib.Variant("t", 10000000)),
- ("WatchdogUSec", GLib.Variant("t", 10000000)),
("Restart", GLib.Variant("s", "on-abnormal")),
("LimitNOFILE", GLib.Variant("t", 524288)),
("Environment", GLib.Variant("as", [f"SYSTEMD_INSTANCE={kres_id}"])),
]
+
+ if config.server.watchdog:
+ val.append(
+ ("WatchdogUSec", GLib.Variant("t", 10000000)),
+ )
+
return val