Async::ContainerSourceAsyncContainerNotifyClient

class Client

Represents a client that can send messages to the parent controller in order to notify it of readiness, status changes, etc.

A process readiness protocol (e.g. sd_notify) is a simple protocol for a child process to notify the parent process that it is ready (e.g. to accept connections, to process requests, etc). This can help dependency-based startup systems to start services in the correct order, and to handle failures gracefully.

Definitions

def ready!(**message)

Notify the parent controller that the child has become ready, with a brief status message.

Implementation

def ready!(**message)
	send(ready: true, **message)
end

def reloading!(**message)

Notify the parent controller that the child is reloading.

Implementation

def reloading!(**message)
	message[:ready] = false
	message[:reloading] = true
	message[:status] ||= "Reloading..."
	
	send(**message)
end

def restarting!(**message)

Notify the parent controller that the child is restarting.

Implementation

def restarting!(**message)
	message[:ready] = false
	message[:reloading] = true
	message[:status] ||= "Restarting..."
	
	send(**message)
end

def stopping!(**message)

Notify the parent controller that the child is stopping.

Implementation

def stopping!(**message)
	message[:stopping] = true
	
	send(**message)
end

def status!(text)

Notify the parent controller of a status change.

Implementation

def status!(text)
	send(status: text)
end

def error!(text, **message)

Notify the parent controller of an error condition.

Implementation

def error!(text, **message)
	send(status: text, **message)
end