Class BackgroundJobServerConfiguration

java.lang.Object
org.jobrunr.server.BackgroundJobServerConfiguration

public class BackgroundJobServerConfiguration extends Object
This class allows to configure the BackgroundJobServer
  • Field Details

    • DEFAULT_POLL_INTERVAL_IN_SECONDS

      public static final int DEFAULT_POLL_INTERVAL_IN_SECONDS
      See Also:
    • DEFAULT_PAGE_REQUEST_SIZE

      public static final int DEFAULT_PAGE_REQUEST_SIZE
      See Also:
    • DEFAULT_DELETE_SUCCEEDED_JOBS_DURATION

      public static final Duration DEFAULT_DELETE_SUCCEEDED_JOBS_DURATION
    • DEFAULT_PERMANENTLY_DELETE_JOBS_DURATION

      public static final Duration DEFAULT_PERMANENTLY_DELETE_JOBS_DURATION
  • Method Details

    • usingStandardBackgroundJobServerConfiguration

      public static BackgroundJobServerConfiguration usingStandardBackgroundJobServerConfiguration()
      This returns the default configuration with the BackgroundJobServer with a poll interval of 15 seconds and a worker count based on the CPU
      Returns:
      the default JobRunrDashboard configuration
    • andName

      Allows to set the name for the BackgroundJobServer
      Parameters:
      name - the name of this BackgroundJobServer (used in the dashboard)
      Returns:
      the same configuration instance which provides a fluent api
    • andPollIntervalInSeconds

      public BackgroundJobServerConfiguration andPollIntervalInSeconds(int pollIntervalInSeconds)
      Allows to set the pollIntervalInSeconds for the BackgroundJobServer
      Parameters:
      pollIntervalInSeconds - the pollIntervalInSeconds
      Returns:
      the same configuration instance which provides a fluent api
    • andWorkerCount

      public BackgroundJobServerConfiguration andWorkerCount(int workerCount)
      Allows to set the workerCount for the BackgroundJobServer which defines the maximum number of jobs that will be run in parallel
      Parameters:
      workerCount - the workerCount for the BackgroundJobServer
      Returns:
      the same configuration instance which provides a fluent api
    • andBackgroundJobServerWorkerPolicy

      public BackgroundJobServerConfiguration andBackgroundJobServerWorkerPolicy(BackgroundJobServerWorkerPolicy backgroundJobServerWorkerPolicy)
      Allows to set the backgroundJobServerWorkerPolicy for the BackgroundJobServer. The backgroundJobServerWorkerPolicy will determine the final WorkDistributionStrategy used by the BackgroundJobServer.
      Parameters:
      backgroundJobServerWorkerPolicy - the backgroundJobServerWorkerPolicy
      Returns:
      the same configuration instance which provides a fluent api
    • andScheduledJobsRequestSize

      public BackgroundJobServerConfiguration andScheduledJobsRequestSize(int scheduledJobsRequestSize)
      Allows to set the maximum number of jobs to update from scheduled to enqueued state per polling interval.
      Parameters:
      scheduledJobsRequestSize - maximum number of jobs to update per polling interval
      Returns:
      the same configuration instance which provides a fluent api
    • andOrphanedJobsRequestSize

      public BackgroundJobServerConfiguration andOrphanedJobsRequestSize(int orphanedJobsRequestSize)
      Allows to set the query size for misfired jobs per polling interval (to retry them).
      Parameters:
      orphanedJobsRequestSize - maximum number of misfired jobs to check per polling interval
      Returns:
      the same configuration instance which provides a fluent api
    • andSucceededJobsRequestSize

      public BackgroundJobServerConfiguration andSucceededJobsRequestSize(int succeededJobsRequestSize)
      Allows to set the maximum number of jobs to update from succeeded to deleted state per polling interval.
      Parameters:
      succeededJobsRequestSize - maximum number of jobs to update per polling interval
      Returns:
      the same configuration instance which provides a fluent api
    • andDeleteSucceededJobsAfter

      public BackgroundJobServerConfiguration andDeleteSucceededJobsAfter(Duration duration)
      Allows to set the duration to wait before deleting succeeded jobs
      Parameters:
      duration - the duration to wait before deleting successful jobs
      Returns:
      the same configuration instance which provides a fluent api
    • andPermanentlyDeleteDeletedJobsAfter

      public BackgroundJobServerConfiguration andPermanentlyDeleteDeletedJobsAfter(Duration duration)
      Allows to set the duration to wait before permanently deleting succeeded jobs
      Parameters:
      duration - the duration to wait before permanently deleting successful jobs
      Returns:
      the same configuration instance which provides a fluent api
    • andConcurrentJobModificationPolicy

      public BackgroundJobServerConfiguration andConcurrentJobModificationPolicy(ConcurrentJobModificationPolicy concurrentJobModificationPolicy)
      Allows to set the ConcurrentJobModificationPolicy for the BackgroundJobServer. The ConcurrentJobModificationPolicy will determine how the BackgroundJobServer will react to concurrent modifications the jobs.

      Use with care.

      Parameters:
      concurrentJobModificationPolicy - the concurrentJobModificationPolicy
      Returns:
      the same configuration instance which provides a fluent api
    • getName

      public String getName()
    • getScheduledJobsRequestSize

      public int getScheduledJobsRequestSize()
    • getOrphanedJobsRequestSize

      public int getOrphanedJobsRequestSize()
    • getSucceededJobsRequestSize

      public int getSucceededJobsRequestSize()
    • getPollIntervalInSeconds

      public int getPollIntervalInSeconds()
    • getDeleteSucceededJobsAfter

      public Duration getDeleteSucceededJobsAfter()
    • getPermanentlyDeleteDeletedJobsAfter

      public Duration getPermanentlyDeleteDeletedJobsAfter()
    • getBackgroundJobServerWorkerPolicy

      public BackgroundJobServerWorkerPolicy getBackgroundJobServerWorkerPolicy()
    • getConcurrentJobModificationPolicy

      public ConcurrentJobModificationPolicy getConcurrentJobModificationPolicy()