Class RedisWorkersPlugin

java.lang.Object
io.vertigo.stella.plugins.work.redis.workers.RedisWorkersPlugin
All Implemented Interfaces:
io.vertigo.core.node.component.CoreComponent, io.vertigo.core.node.component.Plugin, WorkersPlugin

public final class RedisWorkersPlugin extends Object implements WorkersPlugin
NodePlugin Ce plugin permet d'exécuter des travaux en mode distribué. REDIS est utilisé comme plateforme d'échanges.
Author:
pchretien, npiedeloup
  • Constructor Details

    • RedisWorkersPlugin

      @Inject public RedisWorkersPlugin(Optional<String> connectorNameOpt, Optional<Integer> timeoutSeconds, List<io.vertigo.connectors.redis.RedisConnector> redisConnectors, io.vertigo.commons.codec.CodecManager codecManager)
      Parameters:
      timeoutSeconds - Timeout Seconds to declare dead node (default to 60s / ping every 20s)
      codecManager - Codec manager
      connectorName - Connector name to use (default to main)
      redisConnector - Declared Redis connectors
  • Method Details

    • pollWorkItem

      public <R, W> WorkItem<R,W> pollWorkItem(String nodeId, String workType)
      Polling workitem.
      Specified by:
      pollWorkItem in interface WorkersPlugin
      Type Parameters:
      R - result
      W - work
      Parameters:
      workType - Type de tache
      Returns:
      Workitem or null (if timeout)
    • putResult

      public <R> void putResult(String callerNodeId, String nodeId, String workType, String workId, R result, Throwable error)
      Send result or error if execution failed
      Specified by:
      putResult in interface WorkersPlugin
      Type Parameters:
      R - result
      Parameters:
      workId - WorkId
      result - Result (not null if execution succeeded)
      error - Error ( not null if execution failed)
    • putStart

      public void putStart(String nodeId, String workType, String workId)
      Specified by:
      putStart in interface WorkersPlugin
    • heartBeat

      public void heartBeat(String nodeId, Set<String> workTypes)
      Specified by:
      heartBeat in interface WorkersPlugin