mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
First of all, we should not send the unix time, but the monotonic time. Second of all, RELOADING= and MONOTONIC_USEC fields should be sent in *single* message not two separate messages. From the man page of [systemd.service](https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#Type=) > notification message via sd_notify(3) that contains the "RELOADING=1" field in > combination with "MONOTONIC_USEC=" set to the current monotonic time (i.e. > CLOCK_MONOTONIC in clock_gettime(2)) in μs, formatted as decimal string. [sd_notify](https://www.freedesktop.org/software/systemd/man/latest/sd_notify.html) now has code samples of the protocol to clarify. Without these changes, if you'd set Type=notify-reload on the agen'ts systemd unit, systemd would kill the service due to the service not responding to reload correctly.
13 lines
374 B
Go
13 lines
374 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package agent
|
|
|
|
// These constants are for readiness signalling via the systemd notify protocol.
|
|
// The functions we send these messages to are no-op on non-Linux systems. See
|
|
// also https://www.man7.org/linux/man-pages/man3/sd_notify.3.html
|
|
const (
|
|
sdReady = "READY=1"
|
|
sdStopping = "STOPPING=1"
|
|
)
|