Class EnterpriseWorkerKind
java.lang.Object
com.illumon.iris.db.tables.remotequery.EnterpriseWorkerKind
- All Implemented Interfaces:
LocalProcessWorkerKind,WorkerKind
public class EnterpriseWorkerKind extends Object implements WorkerKind, LocalProcessWorkerKind
Basic worker control for Deephaven Enterprise workers, running the same version as the Dispatcher.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description EnterpriseWorkerKind(String name) -
Method Summary
Modifier and Type Method Description List<String>getBaseCommand(String workerCreationJson, String processUserName, List<String> runAsParams)Create the beginning of the new worker's command.StringgetWorkerControlTypeForRequest(RemoteProcessingRequest request)The worker control type required for a particular request.booleanincludeArtifactArguments()Some customers have custom artifacts per user, which are passed to the Enterprise start script with the -u, -t, and -r options.booleanincludeExtraClassPaths()True if temporary dispatcher produced class paths should be included on the command line with -C.booleanincludeNameArgument()True if -A "name" should be included on the command line.booleanneedsDheJvmFlags()Does this produce a JVM that requires DHE specific JVM argumentsbooleanneedsJavaOptsEnv()Does this produce a JVM that requires JVM arguments via a JAVA_OPTS environment variable.booleanneedsJvmFlags()Does this produce a JVM that requires JVM like argumentsCollection<String>workerControlTypes()What kind of worker controls could be required for starting these kind of workers?
-
Constructor Details
-
Method Details
-
workerControlTypes
Description copied from interface:WorkerKindWhat kind of worker controls could be required for starting these kind of workers?- Specified by:
workerControlTypesin interfaceWorkerKind- Returns:
- the desired WorkerControlType
-
getWorkerControlTypeForRequest
Description copied from interface:WorkerKindThe worker control type required for a particular request.- Specified by:
getWorkerControlTypeForRequestin interfaceWorkerKind- Parameters:
request- the request that a worker is being created for- Returns:
- the type of worker control for this particular request
-
needsJvmFlags
public boolean needsJvmFlags()Description copied from interface:LocalProcessWorkerKindDoes this produce a JVM that requires JVM like arguments- Specified by:
needsJvmFlagsin interfaceLocalProcessWorkerKind- Returns:
- true if this kind of worker needs JVM arguments
-
needsDheJvmFlags
public boolean needsDheJvmFlags()Description copied from interface:LocalProcessWorkerKindDoes this produce a JVM that requires DHE specific JVM arguments- Specified by:
needsDheJvmFlagsin interfaceLocalProcessWorkerKind- Returns:
- true if this kind of worker needs DHE specific JVM arguments
-
needsJavaOptsEnv
public boolean needsJavaOptsEnv()Description copied from interface:LocalProcessWorkerKindDoes this produce a JVM that requires JVM arguments via a JAVA_OPTS environment variable.- Specified by:
needsJavaOptsEnvin interfaceLocalProcessWorkerKind- Returns:
- true if this kind of worker needs a JAVA_OPTS environment variable.
-
includeNameArgument
public boolean includeNameArgument()Description copied from interface:LocalProcessWorkerKindTrue if -A "name" should be included on the command line.- Specified by:
includeNameArgumentin interfaceLocalProcessWorkerKind- Returns:
- true if the name argument is included
-
includeExtraClassPaths
public boolean includeExtraClassPaths()Description copied from interface:LocalProcessWorkerKindTrue if temporary dispatcher produced class paths should be included on the command line with -C.- Specified by:
includeExtraClassPathsin interfaceLocalProcessWorkerKind- Returns:
- true if the dispatcher's temporary classpaths should be included
-
includeArtifactArguments
public boolean includeArtifactArguments()Description copied from interface:LocalProcessWorkerKindSome customers have custom artifacts per user, which are passed to the Enterprise start script with the -u, -t, and -r options. True if those options be included in the command.- Specified by:
includeArtifactArgumentsin interfaceLocalProcessWorkerKind- Returns:
- true if -u, -t, and -r options should be included
-
getBaseCommand
public List<String> getBaseCommand(String workerCreationJson, String processUserName, List<String> runAsParams)Description copied from interface:LocalProcessWorkerKindCreate the beginning of the new worker's command.- Specified by:
getBaseCommandin interfaceLocalProcessWorkerKind- Parameters:
workerCreationJson- the JSON passed by the remote processing requestprocessUserName- the user name that the process will execute asrunAsParams- the parameters for running as a distinct system user- Returns:
- a new list with the beginning of the command to execute
-