Package com.netflix.genie.web.scripts
Class ClusterSelectorManagedScript
- java.lang.Object
-
- com.netflix.genie.web.scripts.ManagedScript
-
- com.netflix.genie.web.scripts.ResourceSelectorScript<Cluster,ClusterSelectionContext>
-
- com.netflix.genie.web.scripts.ClusterSelectorManagedScript
-
public class ClusterSelectorManagedScript extends ResourceSelectorScript<Cluster,ClusterSelectionContext>
Extension ofResourceSelectorScriptthat delegates selection of a job's cluster when more than one choice is available. See also:ClusterSelector.The contract between the script and the Java code is that the script will be supplied global variables
clustersandjobRequestwhich will be aSetofClusterinstances matching the cluster criteria and the job request that kicked off this evaluation respectively. The code expects the script to return aResourceSelectorScriptResultinstance.- Since:
- 4.0.0
-
-
Constructor Summary
Constructors Constructor Description ClusterSelectorManagedScript(ScriptManager scriptManager, ClusterSelectorScriptProperties properties, io.micrometer.core.instrument.MeterRegistry registry, PropertiesMapCache propertyMapCache)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddParametersForScript(java.util.Map<java.lang.String,java.lang.Object> parameters, ClusterSelectionContext context)Add any implementation specific parameters to the map of parameters to send to the script.ResourceSelectorScriptResult<Cluster>selectResource(ClusterSelectionContext context)Given theJobRequestand an associated set of resources which matched the request criteria invoke the configured script to see if a preferred resource is selected based on the current logic.-
Methods inherited from class com.netflix.genie.web.scripts.ManagedScript
evaluateScript, warmUp
-
-
-
-
Constructor Detail
-
ClusterSelectorManagedScript
public ClusterSelectorManagedScript(ScriptManager scriptManager, ClusterSelectorScriptProperties properties, io.micrometer.core.instrument.MeterRegistry registry, PropertiesMapCache propertyMapCache)
Constructor.- Parameters:
scriptManager- script managerproperties- script manager propertiesregistry- meter registrypropertyMapCache- dynamic properties map cache
-
-
Method Detail
-
selectResource
public ResourceSelectorScriptResult<Cluster> selectResource(ClusterSelectionContext context) throws ResourceSelectionException
Given theJobRequestand an associated set of resources which matched the request criteria invoke the configured script to see if a preferred resource is selected based on the current logic.- Overrides:
selectResourcein classResourceSelectorScript<Cluster,ClusterSelectionContext>- Parameters:
context- TheResourceSelectionContextinstance containing information about the context for this selection- Returns:
- A
ResourceSelectorScriptResultinstance - Throws:
ResourceSelectionException- If an unexpected error occurs during selection
-
addParametersForScript
protected void addParametersForScript(java.util.Map<java.lang.String,java.lang.Object> parameters, ClusterSelectionContext context)Add any implementation specific parameters to the map of parameters to send to the script.- Overrides:
addParametersForScriptin classResourceSelectorScript<Cluster,ClusterSelectionContext>- Parameters:
parameters- The existing set of parameters for implementations to add tocontext- The selection context
-
-