Browse Source

:gear: Extend liveness probe also to file and services

Ettore Di Giacinto 3 years ago
parent
commit
aa46675981
4 changed files with 46 additions and 18 deletions
  1. 13 0
      cmd/file.go
  2. 0 18
      cmd/main.go
  3. 15 0
      cmd/service.go
  4. 18 0
      cmd/util.go

+ 13 - 0
cmd/file.go

@@ -72,6 +72,13 @@ This is also the ID used to refer when receiving it.`,
 			}
 			o, _, ll := cliToOpts(c)
 
+			// Needed to unblock connections with low activity
+			o = append(o,
+				services.Alive(
+					time.Duration(c.Int("aliveness-healthcheck-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-scrub-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-max-interval"))*time.Second)...)
+
 			opts, err := services.ShareFile(ll, time.Duration(c.Int("ledger-announce-interval"))*time.Second, name, path)
 			if err != nil {
 				return err
@@ -120,6 +127,12 @@ func FileReceive() cli.Command {
 				return err
 			}
 			o, _, ll := cliToOpts(c)
+			// Needed to unblock connections with low activity
+			o = append(o,
+				services.Alive(
+					time.Duration(c.Int("aliveness-healthcheck-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-scrub-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-max-interval"))*time.Second)...)
 			e, err := node.New(o...)
 			if err != nil {
 				return err

+ 0 - 18
cmd/main.go

@@ -125,24 +125,6 @@ func MainFlags() []cli.Flag {
 			EnvVar: "DNSCACHESIZE",
 			Value:  200,
 		},
-		&cli.IntFlag{
-			Name:   "aliveness-healthcheck-interval",
-			Usage:  "Healthcheck interval",
-			EnvVar: "HEALTHCHECKINTERVAL",
-			Value:  120,
-		},
-		&cli.IntFlag{
-			Name:   "aliveness-healthcheck-scrub-interval",
-			Usage:  "Healthcheck scrub interval",
-			EnvVar: "HEALTHCHECKSCRUBINTERVAL",
-			Value:  600,
-		},
-		&cli.IntFlag{
-			Name:   "aliveness-healthcheck-max-interval",
-			Usage:  "Healthcheck max interval. Threshold after a node is determined offline",
-			EnvVar: "HEALTHCHECKMAXINTERVAL",
-			Value:  900,
-		},
 		&cli.StringSliceFlag{
 			Name:   "dns-forward-server",
 			Usage:  "List of DNS forward server, e.g. 8.8.8.8:53, 192.168.1.1:53 ...",

+ 15 - 0
cmd/service.go

@@ -71,6 +71,13 @@ For example, '192.168.1.1:80', or '127.0.0.1:22'.`,
 			}
 			o, _, ll := cliToOpts(c)
 
+			// Needed to unblock connections with low activity
+			o = append(o,
+				services.Alive(
+					time.Duration(c.Int("aliveness-healthcheck-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-scrub-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-max-interval"))*time.Second)...)
+
 			o = append(o, services.RegisterService(ll, time.Duration(c.Int("ledger-announce-interval"))*time.Second, name, address)...)
 
 			e, err := node.New(o...)
@@ -118,6 +125,14 @@ to the service over the network`,
 				return err
 			}
 			o, _, ll := cliToOpts(c)
+
+			// Needed to unblock connections with low activity
+			o = append(o,
+				services.Alive(
+					time.Duration(c.Int("aliveness-healthcheck-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-scrub-interval"))*time.Second,
+					time.Duration(c.Int("aliveness-healthcheck-max-interval"))*time.Second)...)
+
 			e, err := node.New(
 				append(o,
 					node.WithNetworkService(

+ 18 - 0
cmd/util.go

@@ -190,6 +190,24 @@ var CommonFlags []cli.Flag = []cli.Flag{
 		Value:  100,
 		EnvVar: "EDGEVPNMAXSTREAMS",
 	},
+	&cli.IntFlag{
+		Name:   "aliveness-healthcheck-interval",
+		Usage:  "Healthcheck interval",
+		EnvVar: "HEALTHCHECKINTERVAL",
+		Value:  120,
+	},
+	&cli.IntFlag{
+		Name:   "aliveness-healthcheck-scrub-interval",
+		Usage:  "Healthcheck scrub interval",
+		EnvVar: "HEALTHCHECKSCRUBINTERVAL",
+		Value:  600,
+	},
+	&cli.IntFlag{
+		Name:   "aliveness-healthcheck-max-interval",
+		Usage:  "Healthcheck max interval. Threshold after a node is determined offline",
+		EnvVar: "HEALTHCHECKMAXINTERVAL",
+		Value:  900,
+	},
 	&cli.StringFlag{
 		Name:   "log-level",
 		Usage:  "Specify loglevel",