Package org.jobrunr.storage
Interface StorageProvider
-
- All Superinterfaces:
java.lang.AutoCloseable
- All Known Subinterfaces:
SqlStorageProvider
- All Known Implementing Classes:
AbstractStorageProvider
,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
deleteJobs(StateName state, java.time.Instant updatedBefore)
int
deletePermanently(java.util.UUID id)
int
deleteRecurringJob(java.lang.String id)
boolean
exists(JobDetails jobDetails, StateName... states)
java.util.List<BackgroundJobServerStatus>
getBackgroundJobServers()
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.List<RecurringJob>
getRecurringJobs()
java.util.List<Job>
getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
void
publishJobStatCounter(StateName state, int amount)
void
removeJobStorageOnChangeListener(StorageProviderChangeListener listener)
int
removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
java.util.List<Job>
save(java.util.List<Job> jobs)
Job
save(Job job)
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()
-
removeTimedOutBackgroundJobServers
int removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
-
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)
-
deleteJobs
int deleteJobs(StateName state, java.time.Instant updatedBefore)
-
exists
boolean exists(JobDetails jobDetails, StateName... states)
-
saveRecurringJob
RecurringJob saveRecurringJob(RecurringJob recurringJob)
-
getRecurringJobs
java.util.List<RecurringJob> getRecurringJobs()
-
deleteRecurringJob
int deleteRecurringJob(java.lang.String id)
-
getJobStats
JobStats getJobStats()
-
publishJobStatCounter
void publishJobStatCounter(StateName state, int amount)
-
close
void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-