summaryrefslogtreecommitdiffstats
path: root/dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 12:36:04 +0000
commitb09c6d56832eb1718c07d74abf3bc6ae3fe4e030 (patch)
treed2caec2610d4ea887803ec9e9c3cd77136c448ba /dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go
parentInitial commit. (diff)
downloadicingadb-b09c6d56832eb1718c07d74abf3bc6ae3fe4e030.tar.xz
icingadb-b09c6d56832eb1718c07d74abf3bc6ae3fe4e030.zip
Adding upstream version 1.1.0.upstream/1.1.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go')
-rw-r--r--dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go b/dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go
new file mode 100644
index 0000000..dd9d49e
--- /dev/null
+++ b/dependencies/pkg/mod/github.com/okzk/sdnotify@v0.0.0-20180710141335-d9becc38acbd/sample/main.go
@@ -0,0 +1,57 @@
+package main
+
+import (
+ "log"
+ "os"
+ "os/signal"
+ "syscall"
+ "time"
+
+ "github.com/okzk/sdnotify"
+)
+
+func reload() {
+ // Tells the service manager that the service is reloading its configuration.
+ sdnotify.Reloading()
+
+ log.Println("reloading...")
+ time.Sleep(time.Second)
+ log.Println("reloaded.")
+
+ // The service must also send a "READY" notification when it completed reloading its configuration.
+ sdnotify.Ready()
+}
+
+func main() {
+ log.Println("starting...")
+ time.Sleep(time.Second)
+ log.Println("started.")
+
+ // Tells the service manager that service startup is finished.
+ sdnotify.Ready()
+
+ go func() {
+ tick := time.Tick(30 * time.Second)
+ for {
+ <-tick
+ log.Println("watchdog reporting")
+ sdnotify.Watchdog()
+ }
+ }()
+
+ sigCh := make(chan os.Signal, 1)
+ signal.Notify(sigCh, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)
+ for sig := range sigCh {
+ if sig == syscall.SIGHUP {
+ reload()
+ } else {
+ break
+ }
+ }
+
+ // Tells the service manager that the service is beginning its shutdown.
+ sdnotify.Stopping()
+
+ log.Println("existing...")
+ time.Sleep(time.Second)
+}