Class EdipMonitor

All Implemented Interfaces:
Runnable

@Component @Scope("singleton") public class EdipMonitor extends BaseMonitor
Monitor for EDRS Interface Points EDRS Interface Points are FTP-S servers. The FTP-S directory must be mounted as a network volume (e. g. using "rclone").
Author:
Dr. Thomas Bassler
  • Field Details

    • copySuccess

      Map<String,Boolean> copySuccess
      Indicator for parallel copying processes
  • Constructor Details

    • EdipMonitor

      public EdipMonitor()
  • Method Details

    • getMaxFileDownloadThreads

      public int getMaxFileDownloadThreads()
      Gets the maximum number of parallel file download threads within a download session
      Returns:
      the maximum number of parallel file download threads
    • setMaxFileDownloadThreads

      public void setMaxFileDownloadThreads(int maxFileDownloadThreads)
      Sets the maximum number of parallel file download threads within a download session
      Parameters:
      maxFileDownloadThreads - the maximum number of parallel file download threads to set
    • getFileWaitInterval

      public int getFileWaitInterval()
      Gets the interval to check for completed file downloads
      Returns:
      the check interval in millliseconds
    • setFileWaitInterval

      public void setFileWaitInterval(int fileWaitInterval)
      Sets the interval to check for completed file downloads
      Parameters:
      fileWaitInterval - the check interval in millliseconds to set
    • getMaxFileWaitCycles

      public int getMaxFileWaitCycles()
      Gets the maximum number of wait cycles for file download completion checks
      Returns:
      the maximum number of wait cycles
    • setMaxFileWaitCycles

      public void setMaxFileWaitCycles(int maxFileWaitCycles)
      Sets the maximum number of wait cycles for file download completion checks
      Parameters:
      maxFileWaitCycles - the maximum number of wait cycles to set
    • getLastCopyPerformance

      public Double getLastCopyPerformance()
      Gets the last copy performance for monitoring purposes
      Returns:
      the last copy performance in MiB/s
    • setLastCopyPerformance

      void setLastCopyPerformance(Double copyPerformance)
      Records the last copy performance for monitoring purposes
      Parameters:
      copyPerformance - the copy performance in MiB/s
    • checkAvailableDownloads

      protected BaseMonitor.TransferControl checkAvailableDownloads(Instant referenceTimeStamp)
      Check the configured EDIP satellite directory for sessions (without filtering); note that the passed reference time stamp is ignored, as on the EDIP there is no reliable value to compare it against
      Specified by:
      checkAvailableDownloads in class BaseMonitor
    • transferToTargetDir

      protected boolean transferToTargetDir(TransferObject object)
      Transfer the data in the session data directory to the configured CADU target directory for L0 processing
      Specified by:
      transferToTargetDir in class BaseMonitor
    • triggerParallelAction

      protected boolean triggerParallelAction(EdipMonitor.TransferSession transferSession)
      Trigger any necessary parallel action on the transfer session (e. g. L0 processing)
      Parameters:
      transferSession - the transfer session to start the action on
      Returns:
      true, if starting the action succeeded (not necessarily the action itself), false otherwise
    • triggerFollowOnAction

      protected boolean triggerFollowOnAction(TransferObject transferObject)
      Specified by:
      triggerFollowOnAction in class BaseMonitor