feat: add systemd sdnotify support (ready, watchdog, stopping)
Some checks failed
Build RPM Package / Build RPM Packages (CentOS 7, Rocky 8/9/10) (push) Has been cancelled

- Add github.com/coreos/go-systemd/v22/daemon dependency
- Signal SdNotifyReady after configuration is loaded
- Start watchdog goroutine that pings systemd every WatchdogSec/2
- Signal SdNotifyStopping during graceful shutdown
- Update systemd unit file:
  - Type=notify (instead of simple)
  - WatchdogSec=30 (auto-restart if service hangs)
  - NotifyAccess=main (only main process can notify)

Benefits:
- systemd knows when service is truly ready
- Automatic detection of hung/frozen service
- Better integration with systemd supervision
- More accurate service status reporting

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
Jacquin Antoine
2026-03-01 01:06:20 +01:00
parent 78c9102602
commit dcd6bd0a94
4 changed files with 55 additions and 2 deletions

3
go.mod
View File

@ -11,6 +11,7 @@ require (
)
require (
golang.org/x/sys v0.0.0-20190412213103-97732733099d // indirect
github.com/coreos/go-systemd/v22 v22.7.0 // indirect
golang.org/x/sys v0.1.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
)