Class JdbcTaskRepository
java.lang.Object
com.github.kagkarlsson.scheduler.jdbc.JdbcTaskRepository
- All Implemented Interfaces:
TaskRepository
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedJdbcTaskRepository(JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, Serializer serializer, JdbcRunner jdbcRunner, boolean orderByPriority, Clock clock) JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, boolean orderByPriority, Clock clock) JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, Serializer serializer, boolean orderByPriority, Clock clock) JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, boolean orderByPriority, Clock clock) -
Method Summary
Modifier and TypeMethodDescriptionvoidcreateBatch(List<ScheduledTaskInstance> executions) booleancreateIfNotExists(SchedulableInstance instance) Prefer ScheduledTaskInstance which has a fixed execution-timebooleancreateIfNotExists(ScheduledTaskInstance instance) getDeadExecutions(Instant olderThan) getExecution(TaskInstance taskInstance) getExecution(String taskName, String taskInstanceId) getExecutionsFailingLongerThan(Duration interval) voidgetScheduledExecutions(ScheduledExecutionsFilter filter, String taskName, Consumer<Execution> consumer) voidgetScheduledExecutions(ScheduledExecutionsFilter filter, Consumer<Execution> consumer) lockAndFetchGeneric(Instant now, int limit) lockAndGetDue(Instant now, int limit) voidintremoveExecutions(String taskName) replace(Execution toBeReplaced, SchedulableInstance newInstance) Prefer ScheduledTaskInstance which has a fixed execution-timereplace(Execution toBeReplaced, ScheduledTaskInstance newInstance) Instead of doing delete+insert, we allow updating an existing execution will all new fieldsbooleanreschedule(Execution execution, Instant nextExecutionTime, Object newData, Instant lastSuccess, Instant lastFailure, int consecutiveFailures) booleanreschedule(Execution execution, Instant nextExecutionTime, Instant lastSuccess, Instant lastFailure, int consecutiveFailures) booleanupdateHeartbeat(Execution e, Instant newHeartbeat) booleanupdateHeartbeatWithRetry(Execution execution, Instant newHeartbeat, int tries) voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github.kagkarlsson.scheduler.TaskRepository
getExecution
-
Field Details
-
DEFAULT_TABLE_NAME
- See Also:
-
-
Constructor Details
-
JdbcTaskRepository
public JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, boolean orderByPriority, Clock clock) -
JdbcTaskRepository
public JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, boolean orderByPriority, Clock clock) -
JdbcTaskRepository
public JdbcTaskRepository(DataSource dataSource, boolean commitWhenAutocommitDisabled, JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, Serializer serializer, boolean orderByPriority, Clock clock) -
JdbcTaskRepository
protected JdbcTaskRepository(JdbcCustomization jdbcCustomization, String tableName, TaskResolver taskResolver, SchedulerName schedulerSchedulerName, Serializer serializer, JdbcRunner jdbcRunner, boolean orderByPriority, Clock clock)
-
-
Method Details
-
createIfNotExists
Description copied from interface:TaskRepositoryPrefer ScheduledTaskInstance which has a fixed execution-time- Specified by:
createIfNotExistsin interfaceTaskRepository
-
createIfNotExists
- Specified by:
createIfNotExistsin interfaceTaskRepository
-
createBatch
- Specified by:
createBatchin interfaceTaskRepository
-
replace
Description copied from interface:TaskRepositoryPrefer ScheduledTaskInstance which has a fixed execution-time- Specified by:
replacein interfaceTaskRepository
-
replace
Instead of doing delete+insert, we allow updating an existing execution will all new fields- Specified by:
replacein interfaceTaskRepository- Returns:
- the execution-time of the new execution
-
getScheduledExecutions
- Specified by:
getScheduledExecutionsin interfaceTaskRepository
-
getScheduledExecutions
public void getScheduledExecutions(ScheduledExecutionsFilter filter, String taskName, Consumer<Execution> consumer) - Specified by:
getScheduledExecutionsin interfaceTaskRepository
-
getDue
- Specified by:
getDuein interfaceTaskRepository
-
lockAndFetchGeneric
- Specified by:
lockAndFetchGenericin interfaceTaskRepository
-
lockAndGetDue
- Specified by:
lockAndGetDuein interfaceTaskRepository
-
remove
- Specified by:
removein interfaceTaskRepository
-
reschedule
public boolean reschedule(Execution execution, Instant nextExecutionTime, Instant lastSuccess, Instant lastFailure, int consecutiveFailures) - Specified by:
reschedulein interfaceTaskRepository
-
reschedule
public boolean reschedule(Execution execution, Instant nextExecutionTime, Object newData, Instant lastSuccess, Instant lastFailure, int consecutiveFailures) - Specified by:
reschedulein interfaceTaskRepository
-
pick
- Specified by:
pickin interfaceTaskRepository
-
getDeadExecutions
- Specified by:
getDeadExecutionsin interfaceTaskRepository
-
updateHeartbeatWithRetry
- Specified by:
updateHeartbeatWithRetryin interfaceTaskRepository
-
updateHeartbeat
- Specified by:
updateHeartbeatin interfaceTaskRepository
-
getExecutionsFailingLongerThan
- Specified by:
getExecutionsFailingLongerThanin interfaceTaskRepository
-
getExecution
-
getExecution
- Specified by:
getExecutionin interfaceTaskRepository
-
removeExecutions
- Specified by:
removeExecutionsin interfaceTaskRepository
-
verifySupportsLockAndFetch
public void verifySupportsLockAndFetch()- Specified by:
verifySupportsLockAndFetchin interfaceTaskRepository
-