Interface WorkerKind

All Known Implementing Classes:
DndWorkerKind, EnterpriseWorkerKind, GenericCommandWorkerKind

public interface WorkerKind
The WorkerKind class is used to map instructions from the RemoteProcessingRequest into the appropriate worker control invocations to create the requested worker. The default worker kind is a Deephaven Enterprise worker, the same version as the dispatcher. The alternative worker kind that we are most interested in is a Deephaven community worker.
  • Field Details

  • Method Details

    • workerControlTypes

      Collection<String> workerControlTypes()
      What kind of worker controls could be required for starting these kind of workers?
      Returns:
      the desired WorkerControlType
    • getWorkerControlTypeForRequest

      String getWorkerControlTypeForRequest(RemoteProcessingRequest request)
      The worker control type required for a particular request.
      Parameters:
      request - the request that a worker is being created for
      Returns:
      the type of worker control for this particular request
    • getDescription

      @Nullable String getDescription()
      Return an optional description of this WorkerKind for use in the UI.
      Returns:
      a description, or null
    • getTitle

      @NotNull String getTitle()
      Return a string that should be used for drop-down menus in the UI.
      Returns:
      the title of the worker
    • implementedProtocols

      List<String> implementedProtocols()
      What protocols does this kind of worker implement?
      Returns:
      a list of protocol names that this worker implements
    • createPersistentQueryHandle

      @NotNull Object createPersistentQueryHandle(@NotNull com.fishlib.io.logger.Logger log, @NotNull Object queryHandleContext) throws UncheckedDeephavenException
      Create a PersistentQueryHandle for use by the Controller. This is necessarily reflexive so implementations must guarantee that the returned object implements the PersistentQueryHandle interface.
      Parameters:
      log - a Log object to use for logging
      queryHandleContext - an arbitrary context object to initialize the handle with.
      Returns:
      a new persistent query handle
      Throws:
      UncheckedDeephavenException - if the handle could not be created
    • isCommunity

      boolean isCommunity()
      Check if this kind is a Community worker kind
      Returns:
      true if the worker kind is Community
    • isLegacy

      default boolean isLegacy()
    • isEphemeralVenvDefault

      boolean isEphemeralVenvDefault()
      Are ephemeral virtual environments the default behavior for this worker?
    • displayOrder

      int displayOrder()
      Return display order for dropdown list in web UI. Lower values are displayed first. Enterprise workers use displayOrder 100. Community workers use display order 200 by default, which for Vermilion and later installations is overridden in iris-environment.prop to 50.
    • getAllowedGroups

      List<String> getAllowedGroups()
      Return a List of the groups allowed to run this WorkerKind.
      Returns:
      a List of the groups allowed to run this WorkerKind