mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-30 08:06:52 +02:00
Add keepalive to agents
This commit is contained in:
parent
e582c20812
commit
06fa27d937
@ -12,6 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/keepalive"
|
||||
"google.golang.org/grpc/metadata"
|
||||
|
||||
"github.com/cncd/pipeline/pipeline"
|
||||
@ -68,6 +69,26 @@ func loop(c *cli.Context) error {
|
||||
|
||||
// grpc.Dial(target, ))
|
||||
|
||||
agentKeepalive := keepalive.ClientParameters{}
|
||||
if c.String("keepalive-time") != "" {
|
||||
d, err := time.ParseDuration(c.String("keepalive-time"))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
agentKeepalive.Time = d
|
||||
}
|
||||
if c.String("keepalive-timeout") != "" {
|
||||
d, err := time.ParseDuration(c.String("keepalive-timeout"))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
agentKeepalive.Timeout = d
|
||||
}
|
||||
|
||||
conn, err := grpc.Dial(
|
||||
c.String("server"),
|
||||
grpc.WithInsecure(),
|
||||
@ -75,6 +96,7 @@ func loop(c *cli.Context) error {
|
||||
username: c.String("username"),
|
||||
password: c.String("password"),
|
||||
}),
|
||||
grpc.WithKeepaliveParams(agentKeepalive),
|
||||
)
|
||||
|
||||
if err != nil {
|
||||
|
@ -80,6 +80,16 @@ func main() {
|
||||
Name: "healthcheck",
|
||||
Usage: "enables the healthcheck endpoint",
|
||||
},
|
||||
cli.StringFlag{
|
||||
EnvVar: "DRONE_KEEPALIVE_TIME",
|
||||
Name: "keepalive-time",
|
||||
Usage: "after a duration of this time if the agent doesn't see any activity it pings the server to see if the transport is still alive",
|
||||
},
|
||||
cli.StringFlag{
|
||||
EnvVar: "DRONE_KEEPALIVE_TIMEOUT",
|
||||
Name: "keepalive-timeout",
|
||||
Usage: "after having pinged for keepalive check, the client waits for a duration of Timeout and if no activity is seen even after that the connection is closed.",
|
||||
},
|
||||
}
|
||||
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
|
Loading…
Reference in New Issue
Block a user