Class DelayRecipients

java.lang.Object
ecmwf.ecpds.master.plugin.http.controller.monitoring.DelayRecipients

public final class DelayRecipients extends Object
ECMWF Product Data Store (OpenECPDS) Project Works out who is concerned by a delay: the destinations receiving a (product, cycle) combination, using the same data as the destinations table at the bottom of /do/monitoring, and their contact emails.
Since:
2026-10-12
Version:
8.2.0
Author:
Laurent Gougeon - syi@ecmwf.int, ECMWF.
  • Method Details

    • cyclesPerProduct

      public static Map<String, TreeSet<String>> cyclesPerProduct() throws Exception
      Gets the available cycles for each product, from the monitoring data.
      Returns:
      the sorted cycles, keyed by product name
      Throws:
      Exception - if the monitoring data cannot be read
    • minutesBeforeSchedulePerProduct

      public static Map<String,Long> minutesBeforeSchedulePerProduct() throws Exception
      Finds the nearest schedule time across all known cycles for each product. A negative value means that at least one cycle is already late; cycles without a schedule are ignored.
      Returns:
      shortest minutes before schedule, keyed by product name
      Throws:
      Exception - if the monitoring data cannot be read
    • minutesBeforeSchedulePerCycle

      public static Map<String,Long> minutesBeforeSchedulePerCycle() throws Exception
      Gets the minutes before schedule for each known product and cycle.
      Returns:
      minutes before schedule keyed by "product@cycle"
      Throws:
      Exception - if the monitoring data cannot be read
    • generationStatusPerCycle

      public static Map<String,Integer> generationStatusPerCycle() throws Exception
      Gets the generation-status color for each known product and cycle.
      Returns:
      generation status keyed by "product@cycle"
      Throws:
      Exception - if the monitoring data cannot be read
    • generationStatusPerProduct

      public static Map<String,Integer> generationStatusPerProduct() throws Exception
      Gets the generation status of the cycle with the shortest time remaining for each product.
      Returns:
      generation status keyed by product name
      Throws:
      Exception - if the monitoring data cannot be read
    • resolve

      public static DelayRecipients.Result resolve(Collection<String> cells, boolean includeNonMonitored) throws Exception
      Resolves the destinations and emails for a selection of cells.
      Parameters:
      cells - the cells, as "product@time" keys
      includeNonMonitored - also include the destinations not showing in the monitor
      Returns:
      the destinations and emails
      Throws:
      Exception - if the data cannot be read