Package org.jobrunr.storage
Interface StorageProvider
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Subinterfaces:
NoSqlStorageProvider
,SqlStorageProvider
- All Known Implementing Classes:
AbstractStorageProvider
,AmazonDocumentDBStorageProvider
,DB2StorageProvider
,DefaultSqlStorageProvider
,ElasticSearchStorageProvider
,H2StorageProvider
,InMemoryStorageProvider
,JedisRedisStorageProvider
,LettuceRedisStorageProvider
,MariaDbStorageProvider
,MongoDBStorageProvider
,OracleStorageProvider
,PostgresStorageProvider
,SqLiteStorageProvider
,SQLServerStorageProvider
,ThreadSafeStorageProvider
public interface StorageProvider extends java.lang.AutoCloseable
The StorageProvider allows to store, retrieve and delete background jobs. This API is public and JobRunr major version will change of this StorageProvider API changes.- Since:
- 0.9.0
-
-
Field Summary
Fields Modifier and Type Field Description static int
BATCH_SIZE
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
addJobStorageOnChangeListener(StorageProviderChangeListener listener)
void
announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
void
close()
long
countRecurringJobs()
int
deleteJobsPermanently(StateName state, java.time.Instant updatedBefore)
void
deleteMetadata(java.lang.String name)
int
deletePermanently(java.util.UUID id)
int
deleteRecurringJob(java.lang.String id)
boolean
exists(JobDetails jobDetails, StateName... states)
java.util.List<BackgroundJobServerStatus>
getBackgroundJobServers()
java.util.Set<java.lang.String>
getDistinctJobSignatures(StateName... states)
Job
getJobById(java.util.UUID id)
default Job
getJobById(JobId jobId)
Page<Job>
getJobPage(StateName state, PageRequest pageRequest)
java.util.List<Job>
getJobs(StateName state, java.time.Instant updatedBefore, PageRequest pageRequest)
java.util.List<Job>
getJobs(StateName state, PageRequest pageRequest)
JobStats
getJobStats()
java.util.UUID
getLongestRunningBackgroundJobServerId()
java.util.List<JobRunrMetadata>
getMetadata(java.lang.String name)
JobRunrMetadata
getMetadata(java.lang.String name, java.lang.String owner)
java.lang.String
getName()
java.util.List<RecurringJob>
getRecurringJobs()
java.util.List<Job>
getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
void
publishTotalAmountOfSucceededJobs(int amount)
boolean
recurringJobExists(java.lang.String recurringJobId, StateName... states)
void
removeJobStorageOnChangeListener(StorageProviderChangeListener listener)
int
removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
java.util.List<Job>
save(java.util.List<Job> jobs)
Job
save(Job job)
void
saveMetadata(JobRunrMetadata metadata)
RecurringJob
saveRecurringJob(RecurringJob recurringJob)
void
setJobMapper(JobMapper jobMapper)
void
setUpStorageProvider(StorageProviderUtils.DatabaseOptions databaseOptions)
This method allows to reinitialize the StorageProvider.boolean
signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
void
signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
-
-
Field Detail
-
BATCH_SIZE
static final int BATCH_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
java.lang.String getName()
-
setJobMapper
void setJobMapper(JobMapper jobMapper)
-
setUpStorageProvider
void setUpStorageProvider(StorageProviderUtils.DatabaseOptions databaseOptions)
This method allows to reinitialize the StorageProvider. It can be used if you are using Flyway or Liquibase to setup your database manually. By default, this method is automatically called on construction of the StorageProvider- Parameters:
databaseOptions
- defines whether to set up the StorageProvider or validate whether the StorageProvider is set up correctly.
-
addJobStorageOnChangeListener
void addJobStorageOnChangeListener(StorageProviderChangeListener listener)
-
removeJobStorageOnChangeListener
void removeJobStorageOnChangeListener(StorageProviderChangeListener listener)
-
announceBackgroundJobServer
void announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
-
signalBackgroundJobServerAlive
boolean signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
-
signalBackgroundJobServerStopped
void signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
getBackgroundJobServers
java.util.List<BackgroundJobServerStatus> getBackgroundJobServers()
-
getLongestRunningBackgroundJobServerId
java.util.UUID getLongestRunningBackgroundJobServerId()
-
removeTimedOutBackgroundJobServers
int removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
-
saveMetadata
void saveMetadata(JobRunrMetadata metadata)
-
getMetadata
java.util.List<JobRunrMetadata> getMetadata(java.lang.String name)
-
getMetadata
JobRunrMetadata getMetadata(java.lang.String name, java.lang.String owner)
-
deleteMetadata
void deleteMetadata(java.lang.String name)
-
deletePermanently
int deletePermanently(java.util.UUID id)
-
getJobById
Job getJobById(java.util.UUID id)
-
getJobs
java.util.List<Job> getJobs(StateName state, java.time.Instant updatedBefore, PageRequest pageRequest)
-
getScheduledJobs
java.util.List<Job> getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
-
getJobs
java.util.List<Job> getJobs(StateName state, PageRequest pageRequest)
-
getJobPage
Page<Job> getJobPage(StateName state, PageRequest pageRequest)
-
deleteJobsPermanently
int deleteJobsPermanently(StateName state, java.time.Instant updatedBefore)
-
getDistinctJobSignatures
java.util.Set<java.lang.String> getDistinctJobSignatures(StateName... states)
-
exists
boolean exists(JobDetails jobDetails, StateName... states)
-
recurringJobExists
boolean recurringJobExists(java.lang.String recurringJobId, StateName... states)
-
saveRecurringJob
RecurringJob saveRecurringJob(RecurringJob recurringJob)
-
getRecurringJobs
java.util.List<RecurringJob> getRecurringJobs()
-
countRecurringJobs
long countRecurringJobs()
-
deleteRecurringJob
int deleteRecurringJob(java.lang.String id)
-
getJobStats
JobStats getJobStats()
-
publishTotalAmountOfSucceededJobs
void publishTotalAmountOfSucceededJobs(int amount)
-
close
void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-