Package org.jobrunr.storage.nosql.redis
Class LettuceRedisStorageProvider
- java.lang.Object
-
- org.jobrunr.storage.AbstractStorageProvider
-
- org.jobrunr.storage.nosql.redis.LettuceRedisStorageProvider
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,StorageProvider
@Beta public class LettuceRedisStorageProvider extends AbstractStorageProvider
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BACKGROUND_JOB_SERVERS_KEY
static java.lang.String
QUEUE_SCHEDULEDJOBS_KEY
static java.lang.String
RECURRING_JOBS_KEY
-
Constructor Summary
Constructors Constructor Description LettuceRedisStorageProvider(io.lettuce.core.RedisClient redisClient)
LettuceRedisStorageProvider(io.lettuce.core.RedisClient redisClient, RateLimiter changeListenerNotificationRateLimit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
void
close()
java.lang.Long
countJobs(StateName state)
int
deleteJobsPermanently(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()
protected io.lettuce.core.api.StatefulRedisConnection
getConnection()
java.util.Set<java.lang.String>
getDistinctJobSignatures(StateName... states)
Job
getJobById(java.util.UUID id)
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)
boolean
recurringJobExists(java.lang.String recurringJobId, StateName... states)
int
removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
java.util.List<Job>
save(java.util.List<Job> jobs)
Job
save(Job jobToSave)
RecurringJob
saveRecurringJob(RecurringJob recurringJob)
void
setJobMapper(JobMapper jobMapper)
boolean
signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
void
signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
Methods inherited from class org.jobrunr.storage.AbstractStorageProvider
addJobStorageOnChangeListener, delete, notifyJobStatsOnChangeListeners, notifyJobStatsOnChangeListenersIf, removeJobStorageOnChangeListener
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.jobrunr.storage.StorageProvider
getJobById
-
-
-
-
Field Detail
-
RECURRING_JOBS_KEY
public static final java.lang.String RECURRING_JOBS_KEY
- See Also:
- Constant Field Values
-
BACKGROUND_JOB_SERVERS_KEY
public static final java.lang.String BACKGROUND_JOB_SERVERS_KEY
- See Also:
- Constant Field Values
-
QUEUE_SCHEDULEDJOBS_KEY
public static final java.lang.String QUEUE_SCHEDULEDJOBS_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LettuceRedisStorageProvider
public LettuceRedisStorageProvider(io.lettuce.core.RedisClient redisClient)
-
LettuceRedisStorageProvider
public LettuceRedisStorageProvider(io.lettuce.core.RedisClient redisClient, RateLimiter changeListenerNotificationRateLimit)
-
-
Method Detail
-
setJobMapper
public void setJobMapper(JobMapper jobMapper)
-
announceBackgroundJobServer
public void announceBackgroundJobServer(BackgroundJobServerStatus serverStatus)
-
signalBackgroundJobServerAlive
public boolean signalBackgroundJobServerAlive(BackgroundJobServerStatus serverStatus)
-
signalBackgroundJobServerStopped
public void signalBackgroundJobServerStopped(BackgroundJobServerStatus serverStatus)
-
getBackgroundJobServers
public java.util.List<BackgroundJobServerStatus> getBackgroundJobServers()
-
removeTimedOutBackgroundJobServers
public int removeTimedOutBackgroundJobServers(java.time.Instant heartbeatOlderThan)
-
deletePermanently
public int deletePermanently(java.util.UUID id)
-
getJobById
public Job getJobById(java.util.UUID id)
-
getJobs
public java.util.List<Job> getJobs(StateName state, java.time.Instant updatedBefore, PageRequest pageRequest)
-
getScheduledJobs
public java.util.List<Job> getScheduledJobs(java.time.Instant scheduledBefore, PageRequest pageRequest)
-
countJobs
public java.lang.Long countJobs(StateName state)
-
getJobs
public java.util.List<Job> getJobs(StateName state, PageRequest pageRequest)
-
getJobPage
public Page<Job> getJobPage(StateName state, PageRequest pageRequest)
-
deleteJobsPermanently
public int deleteJobsPermanently(StateName state, java.time.Instant updatedBefore)
-
getDistinctJobSignatures
public java.util.Set<java.lang.String> getDistinctJobSignatures(StateName... states)
-
exists
public boolean exists(JobDetails jobDetails, StateName... states)
-
recurringJobExists
public boolean recurringJobExists(java.lang.String recurringJobId, StateName... states)
-
saveRecurringJob
public RecurringJob saveRecurringJob(RecurringJob recurringJob)
-
getRecurringJobs
public java.util.List<RecurringJob> getRecurringJobs()
-
deleteRecurringJob
public int deleteRecurringJob(java.lang.String id)
-
getJobStats
public JobStats getJobStats()
-
publishJobStatCounter
public void publishJobStatCounter(StateName state, int amount)
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfaceStorageProvider
- Overrides:
close
in classAbstractStorageProvider
-
getConnection
protected io.lettuce.core.api.StatefulRedisConnection getConnection()
-
-