Wale
  • Welcome!
  • General
    • Getting Started
    • Requirements
    • Detailed plan overview
    • FAQ
  • Wale Documentation
    • Installation
    • Master Configuration
    • Templates
    • Nodes
    • Teams
  • API Documentation
    • Getting Started
    • Events
      • Node Notification
      • Service Notification
      • Network Full
      • Channel Message
    • Listener
    • Executors
      • Channel Executor
      • Player Executor
      • Service Executor
  • Getting Support
    • Discord
    • Tickets
Powered by GitBook
On this page
  • Methods
  • Code example
  1. API Documentation
  2. Events

Service Notification

The ServiceNotificationEvent is used to monitor all services in the Cloud.

Methods

  1. getNodeId() Returns the ID of the node.

  2. getServiceId() Returns the ID of the service.

  3. getServiceState() Returns the state of the service.

  4. getTemplateId() Returns the template ID of the service's template.

  5. getTemplateName() Returns the templae name of the service's template.

# Available service states
REQUESTED, PREPARING, CPU_BUSY, STARTING, RUNNING, IN_USE, OFFLINE

Code example

@Eventable
public void handle(ServiceNotificationEvent event) {
    ServiceState serviceState = ServiceState.valueOf(event.getServiceState());

    final String templateName = event.getTemplateName();
    final String serviceId = event.getServiceId().substring(0, 5);
    final String nodeId = event.getNodeId() == null ? "Unknown" : event.getNodeId().substring(0, 5);

    switch (serviceState) {
        case REQUESTED -> broadcast("Service %s-%s has been queued".formatted(templateName, serviceId));
        case STARTING -> broadcast("Service %s-%s is now starting on Node-%s".formatted(templateName, serviceId, nodeId));
        case RUNNING -> broadcast("Service %s-%s is now running on Node-%s".formatted(templateName, serviceId, nodeId));
        case OFFLINE -> broadcast("Service %s-%s is now stopping on Node-%s".formatted(templateName, serviceId, nodeId));
    }
}
PreviousNode NotificationNextNetwork Full

Last updated 1 year ago