Interface ClientOrchestrator
public interface ClientOrchestrator
Cross-client script lifecycle and group management.
Provides operations to start/stop scripts on individual clients, across named groups, or on every connected client. Groups can be created with descriptions (e.g. "Skillers", "Combat") and used to target bulk operations.
Obtain via ManagementContext.getOrchestrator().
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordResult of a script operation on a specific client.static final recordA single active schedule pinned to a specific client.static final recordResult of a schedule operation.static final recordSnapshot of a script's state on a specific client. -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddToGroup(String groupName, String clientName) Adds a client to a group.voidCancels every schedule on every connected client.cancelAllSchedulesOnGroup(String groupName) Cancels every schedule on every client in a group; one result per cancellation.booleancancelSchedule(String clientName, String scheduleId) Cancels a single schedule on the named client.default booleancreateGroup(String name) Creates a group with no description.booleancreateGroup(String name, String description) Creates a group.booleandeleteGroup(String name) Deletes a group.Returns the names of all connected clients.getGroupDescription(String groupName) Returns the description of a group, ornull.getGroupMembers(String groupName) Returns the client names in a group.Returns the names of all groups.Returns script status across all clients.getStatusForGroup(String groupName) Returns script status for clients in a group.booleanisClientAlive(String name) Returnstrueif the named client is connected and alive.Returns every active schedule across all connected clients.listScheduledForClient(String clientName) Returns active schedules on the named client.listScheduledForGroup(String groupName) Returns active schedules across all clients in a group.booleanremoveFromGroup(String groupName, String clientName) Removes a client from a group.restartScript(String clientName, String scriptName) Restarts a script on a specific client.restartScriptOnAll(String scriptName) Restarts a script on every connected client.restartScriptOnGroup(String groupName, String scriptName) Restarts a script on all clients in a group.scheduleScript(String clientName, String scriptName, Duration delay) Schedules a one-shot start of a script afterdelay.Schedules a one-shot start of a script afterdelay, applyingconfigbefore start.scheduleScriptAt(String clientName, String scriptName, Instant at) Schedules a one-shot start of a script at the given instant.scheduleScriptEvery(String clientName, String scriptName, Duration interval) Schedules a script to repeat on a fixed interval.scheduleScriptEvery(String clientName, String scriptName, Duration interval, Duration maxDuration) Schedules a script to repeat on a fixed interval, auto-stopping aftermaxDurationeach cycle.scheduleScriptOnAll(String scriptName, Duration delay) Schedules a one-shot start of a script on every connected client.Schedules a one-shot start of a script on every connected client, applyingconfigbefore start.scheduleScriptOnAllAt(String scriptName, Instant at) Schedules a one-shot start at the given instant on every connected client.scheduleScriptOnAllEvery(String scriptName, Duration interval) Schedules a recurring script on every connected client.scheduleScriptOnAllEvery(String scriptName, Duration interval, Duration maxDuration) Schedules a recurring script on every connected client with an auto-stop aftermaxDurationeach cycle.scheduleScriptOnGroup(String groupName, String scriptName, Duration delay) Schedules a one-shot start of a script on every client in a group.scheduleScriptOnGroup(String groupName, String scriptName, Duration delay, Map<String, Object> config) Schedules a one-shot start of a script on every client in a group, applyingconfigbefore start.scheduleScriptOnGroupAt(String groupName, String scriptName, Instant at) Schedules a one-shot start at the given instant on every client in a group.scheduleScriptOnGroupEvery(String groupName, String scriptName, Duration interval) Schedules a recurring script on every client in a group.scheduleScriptOnGroupEvery(String groupName, String scriptName, Duration interval, Duration maxDuration) Schedules a recurring script on every client in a group with an auto-stop aftermaxDurationeach cycle.voidsetGroupDescription(String groupName, String description) Sets the description of a group.startScript(String clientName, String scriptName) Starts a script on a specific client.startScriptOnAll(String scriptName) Starts a script on every connected client.startScriptOnGroup(String groupName, String scriptName) Starts a script on all clients in a group.voidStops all scripts on every connected client.stopAllScriptsOnGroup(String groupName) Stops all scripts on all clients in a group.stopScript(String clientName, String scriptName) Stops a script on a specific client.stopScriptOnAll(String scriptName) Stops a script on every connected client.stopScriptOnGroup(String groupName, String scriptName) Stops a script on all clients in a group.
-
Method Details
-
getClientNames
-
isClientAlive
Returnstrueif the named client is connected and alive. -
createGroup
-
createGroup
Creates a group with no description. -
deleteGroup
Deletes a group. Returnstrueif it existed. -
getGroupNames
-
getGroupDescription
-
setGroupDescription
-
getGroupMembers
-
addToGroup
-
removeFromGroup
-
startScript
Starts a script on a specific client. -
stopScript
Stops a script on a specific client. -
restartScript
Restarts a script on a specific client. -
startScriptOnGroup
Starts a script on all clients in a group. -
stopScriptOnGroup
Stops a script on all clients in a group. -
restartScriptOnGroup
Restarts a script on all clients in a group. -
stopAllScriptsOnGroup
Stops all scripts on all clients in a group. -
startScriptOnAll
Starts a script on every connected client. -
stopScriptOnAll
Stops a script on every connected client. -
restartScriptOnAll
Restarts a script on every connected client. -
stopAllScriptsOnAll
void stopAllScriptsOnAll()Stops all scripts on every connected client. -
scheduleScript
ClientOrchestrator.ScheduleOpResult scheduleScript(String clientName, String scriptName, Duration delay) Schedules a one-shot start of a script afterdelay. -
scheduleScript
-
scheduleScriptAt
ClientOrchestrator.ScheduleOpResult scheduleScriptAt(String clientName, String scriptName, Instant at) Schedules a one-shot start of a script at the given instant. -
scheduleScriptEvery
ClientOrchestrator.ScheduleOpResult scheduleScriptEvery(String clientName, String scriptName, Duration interval) Schedules a script to repeat on a fixed interval. -
scheduleScriptEvery
ClientOrchestrator.ScheduleOpResult scheduleScriptEvery(String clientName, String scriptName, Duration interval, Duration maxDuration) Schedules a script to repeat on a fixed interval, auto-stopping aftermaxDurationeach cycle. -
scheduleScriptOnGroup
List<ClientOrchestrator.ScheduleOpResult> scheduleScriptOnGroup(String groupName, String scriptName, Duration delay) Schedules a one-shot start of a script on every client in a group. -
scheduleScriptOnGroup
-
scheduleScriptOnGroupAt
List<ClientOrchestrator.ScheduleOpResult> scheduleScriptOnGroupAt(String groupName, String scriptName, Instant at) Schedules a one-shot start at the given instant on every client in a group. -
scheduleScriptOnGroupEvery
List<ClientOrchestrator.ScheduleOpResult> scheduleScriptOnGroupEvery(String groupName, String scriptName, Duration interval) Schedules a recurring script on every client in a group. -
scheduleScriptOnGroupEvery
-
scheduleScriptOnAll
Schedules a one-shot start of a script on every connected client. -
scheduleScriptOnAll
-
scheduleScriptOnAllAt
Schedules a one-shot start at the given instant on every connected client. -
scheduleScriptOnAllEvery
List<ClientOrchestrator.ScheduleOpResult> scheduleScriptOnAllEvery(String scriptName, Duration interval) Schedules a recurring script on every connected client. -
scheduleScriptOnAllEvery
List<ClientOrchestrator.ScheduleOpResult> scheduleScriptOnAllEvery(String scriptName, Duration interval, Duration maxDuration) Schedules a recurring script on every connected client with an auto-stop aftermaxDurationeach cycle. -
cancelSchedule
-
cancelAllSchedulesOnGroup
Cancels every schedule on every client in a group; one result per cancellation. -
cancelAllSchedules
void cancelAllSchedules()Cancels every schedule on every connected client. -
listScheduled
List<ClientOrchestrator.ScheduledScriptEntry> listScheduled()Returns every active schedule across all connected clients. -
listScheduledForClient
Returns active schedules on the named client. -
listScheduledForGroup
Returns active schedules across all clients in a group. -
getStatusAll
List<ClientOrchestrator.ScriptStatusEntry> getStatusAll()Returns script status across all clients. -
getStatusForGroup
Returns script status for clients in a group.
-