Interface JobSchedule

All Known Implementing Classes:
CronJobSchedule, IntervalJobSchedule, JobSchedule.FallbackSchedule, OnceJobSchedule

public interface JobSchedule
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
     
    static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Optional<org.joda.time.DateTime>
    calculateNextTime(org.joda.time.DateTime lastExecutionTime, org.joda.time.DateTime lastNextTime, JobSchedulerClock clock)
    Calculates the next time a job should be executed based on the schedule implementation.
    toDBUpdate(String fieldPrefix)
    Deprecated.
    This method won't be called by the persistence layer anymore.
     
  • Field Details

  • Method Details

    • type

      String type()
    • calculateNextTime

      Optional<org.joda.time.DateTime> calculateNextTime(org.joda.time.DateTime lastExecutionTime, org.joda.time.DateTime lastNextTime, JobSchedulerClock clock)
      Calculates the next time a job should be executed based on the schedule implementation. If this returns an empty Optional, there will be no next execution time. (e.g. for one-off jobs)

      The lastExecutionTime parameter is the last execution time of the trigger. This can be used to detect if the trigger has been executed way later than the lastNextTime.

      The lastNextTime parameter is the last nextTime of the job trigger. This can be used to calculate the new next time. Using the previous nextTime as base for the new one is more accurate than using the current time. (e.g. because of delayed execution and job duration)

      Parameters:
      lastExecutionTime - the last execution time of a trigger
      lastNextTime - the base time, chosen by the caller (mostly last nextTime)
      clock -
      Returns:
      filled optional with the next execution time, empty optional if there is no next execution time
    • toDBUpdate

      @Deprecated default Optional<Map<String,Object>> toDBUpdate(String fieldPrefix)
      Deprecated.
      This method won't be called by the persistence layer anymore.
      Returns a map with the schedule data. This can be used to update a MongoDB document with schedule data. (see JacksonDBCollection#update())
      Parameters:
      fieldPrefix - the field prefix to use for the map key
      Returns:
      filled optional with a map, empty optional if there is no update data