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.
-
-
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()
java.lang.Long
countJobs(StateName state)
int
delete(java.util.UUID id)
This method changes the state of the job to the DeletedState - it does not permanently delete it yetint
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.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)
boolean
signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
void
signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
-
-
Method Detail
-
addJobStorageOnChangeListener
void addJobStorageOnChangeListener(StorageProviderChangeListener listener)
-
removeJobStorageOnChangeListener
void removeJobStorageOnChangeListener(StorageProviderChangeListener listener)
-
setJobMapper
void setJobMapper(JobMapper jobMapper)
-
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)
-
delete
int delete(java.util.UUID id)
This method changes the state of the job to the DeletedState - it does not permanently delete it yet- Parameters:
id
- the id of the job
-
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)
-
countJobs
java.lang.Long countJobs(StateName state)
-
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()
-
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
-
-