Class SmartExecutorPersistenceConnector

java.lang.Object
org.gcube.vremanagement.executor.plugin.PluginStateNotification
org.gcube.vremanagement.executor.persistence.SmartExecutorPersistenceConnector
All Implemented Interfaces:
ScheduledTaskPersistence
Direct Known Subclasses:
PostgreSQLPersistenceConnector

public abstract class SmartExecutorPersistenceConnector extends org.gcube.vremanagement.executor.plugin.PluginStateNotification implements ScheduledTaskPersistence
Model the connector which create or open the connection to DB.
Author:
Luca Frosini (ISTI - CNR)
  • Constructor Details

    • SmartExecutorPersistenceConnector

      public SmartExecutorPersistenceConnector()
  • Method Details

    • close

      public abstract void close() throws Exception
      Close the connection to DB
      Throws:
      Exception - if fails
    • getPluginInstanceState

      public abstract org.gcube.vremanagement.executor.plugin.PluginStateEvolution getPluginInstanceState(UUID uuid, Integer iterationNumber) throws org.gcube.vremanagement.executor.exception.PluginInstanceNotFoundException, org.gcube.vremanagement.executor.exception.ExecutorException
      Retrieve the status of the iterationNumber (passed as parameter) of a running/run Plugin which is/was identified by the UUID passed as parameter
      Parameters:
      uuid - the execution identifier of the running/run Plugin
      iterationNumber - the iterationNumber (null to get the last)
      Returns:
      the actual/last PluginState of the Plugin
      Throws:
      org.gcube.vremanagement.executor.exception.PluginInstanceNotFoundException - if the plugin instance is not found
      org.gcube.vremanagement.executor.exception.ExecutorException - if the operation fails
    • countFinalStates

      public abstract Map<org.gcube.vremanagement.executor.plugin.PluginState,Long> countFinalStates(Long since) throws org.gcube.vremanagement.executor.exception.ExecutorException
      Counts the executions of the current Context that reached a final state, by that state: each execution of a Plugin records its final state once.
      Parameters:
      since - only the executions that reached their final state at this time or later, in milliseconds since the epoch; null counts all the executions in the database
      Returns:
      the number of executions by final state, with every final state present
      Throws:
      org.gcube.vremanagement.executor.exception.ExecutorException - if the operation fails