public interface CaesiumSchedulerConfiguration
extends com.atlassian.scheduler.core.spi.SchedulerServiceConfiguration
| Modifier and Type | Method and Description |
|---|---|
int |
refreshClusteredJobsIntervalInMinutes()
Returns the frequency with which the scheduler will perform routine cluster maintenance.
|
boolean |
useFineGrainedSchedules()
If
true, then the scheduler will accept schedules that are more fine-grained than
once per minute. |
boolean |
useQuartzJobDataMapMigration()
If
true, then the serialized parameter maps returned by ClusteredJobDao will
be allowed to contain instances of Quartz's JobDataMap class, which will be removed
transparently. |
int |
workerThreadCount()
Returns the number of worker threads that will accept jobs from the queue.
|
int refreshClusteredJobsIntervalInMinutes()
If the value is positive, then the scheduler will implicitly register a local maintenance
task that calls CaesiumSchedulerService.refreshClusteredJobs() at the specified
interval.
If the value is not positive, then the application must make its own arrangements to notify other
cluster nodes about new clustered jobs. For example, it might use a message passing service to
explicitly inform other nodes that a new cluster-wide job has been scheduled. The nodes that receive
such a message could then call CaesiumSchedulerService.refreshClusteredJob(JobId) to ensure
that the new job is included in the scheduler's work queue.
It would also be appropriate to disable this for any single-node application, as the database poll to check for updated clustered jobs would just be wasteful.
CaesiumSchedulerService.refreshClusteredJobs(),
CaesiumSchedulerService.refreshClusteredJob(JobId)int workerThreadCount()
If this value is not positive, then the scheduler will choose the number of threads that it will use. The algorithm used to select the default thread count is left unspecified, so it is recommended that applications provide an explicit value rather than accept the default.
boolean useQuartzJobDataMapMigration()
true, then the serialized parameter maps returned by ClusteredJobDao will
be allowed to contain instances of Quartz's JobDataMap class, which will be removed
transparently.
This is intended to make it easier to migrate from Quartz to Caesium by allowing the job data to be cleaned lazily instead of requiring the Quartz classes to be removed from the data up front. There may be a minor performance penalty to this support, as the deserialization code must intercept the requests for the Quartz classes by comparing the names of each class as it is resolved, but this is not expected to be significant.
true to enable transparent migration of Quartz data returned by the
ClusteredJobDao; false to disable this feature.boolean useFineGrainedSchedules()
true, then the scheduler will accept schedules that are more fine-grained than
once per minute.
The atlassian-scheduler library is permitted to "adjust" schedules that would run
more frequently than once a minute to prevent abuse. Setting this to true will
disable this restriction, allowing intervals shorter than one minute and cron expressions
that specify values other than a single integer from 0 to 59 for the seconds field.
true to allow all valid schedule requests, regardless of how frequently
they will run; false if schedules should be adjusted to prevent schedules
from running more frequently than once a minute.Copyright © 2019 Atlassian. All rights reserved.