public interface DatabaseDelegate
| Modifier and Type | Method and Description |
|---|---|
void |
acquireTransactionLocks() |
void |
deleteAllJobs() |
boolean |
deleteJob(java.lang.String jobid,
java.lang.String nodeId)
Delete a job from the database.
|
java.util.List<org.apache.ode.scheduler.simple.Job> |
dequeueImmediate(java.lang.String nodeId,
long maxtime,
int maxjobs)
"Dequeue" jobs from the database that are ready for immediate execution; this basically
is a select/delete operation with constraints on the nodeId and scheduled time.
|
java.util.List<java.lang.String> |
getNodeIds()
Return a list of unique nodes identifiers found in the database.
|
boolean |
insertJob(org.apache.ode.scheduler.simple.Job job,
java.lang.String nodeId,
boolean loaded)
Save the job in the database.
|
boolean |
insertNode(java.lang.String nodeId,
long heartbeat,
java.lang.String leaderNodeId) |
boolean |
removeNode(java.lang.String nodeId) |
java.util.List<Node> |
retrieveClusterNodes(java.lang.String leaderNode) |
int |
updateAssignToNode(java.lang.String nodeId,
int x,
int y,
long maxtime)
Assign a particular node identifier to a fraction of jobs in the database that do not have one,
and are up for execution within a certain time.
|
boolean |
updateJob(org.apache.ode.scheduler.simple.Job job)
Update the job in the database (only updates timestamp and retryCount)
|
boolean |
updateNodeHeartbeat(java.lang.String nodeId,
long heartbeat,
java.lang.String leaderNodeId) |
int |
updateReassign(java.lang.String oldnode,
java.lang.String newnode)
Reassign jobs from one node to another.
|
boolean insertJob(org.apache.ode.scheduler.simple.Job job,
java.lang.String nodeId,
boolean loaded)
throws DatabaseException
job - the jobnodeId - node assigned to the job (or null if no node has been asssigned)loaded - whether the job has been loaded into memory (i.e. in preperation for execution)DatabaseException - in case of errorboolean updateJob(org.apache.ode.scheduler.simple.Job job)
throws DatabaseException
job - the jobDatabaseException - in case of errorboolean deleteJob(java.lang.String jobid,
java.lang.String nodeId)
throws DatabaseException
jobid - job identifiernodeId - node identifierDatabaseException - in case of errorjava.util.List<java.lang.String> getNodeIds()
throws DatabaseException
DatabaseExceptionjava.util.List<org.apache.ode.scheduler.simple.Job> dequeueImmediate(java.lang.String nodeId,
long maxtime,
int maxjobs)
throws DatabaseException
nodeId - node identifier of the jobsmaxtime - only jobs with scheduled time earlier than this will be dequeuedmaxjobs - maximum number of jobs to deqeueDatabaseException - in case of errorint updateAssignToNode(java.lang.String nodeId,
int x,
int y,
long maxtime)
throws DatabaseException
UPDATE jobs AS job
WHERE job.scheduledTime before :maxtime
AND job.nodeId is null
AND job.scheduledTime MOD :y == :x
SET job.nodeId = :nodeId
nodeId - node identifier to assign to jobsx - the result of the mod-divisiony - the dividend of the mod-divisionmaxtime - only jobs with scheduled time earlier than this will be updatedDatabaseException - in case of errorint updateReassign(java.lang.String oldnode,
java.lang.String newnode)
throws DatabaseException
oldnode - node assigning fromnewnode - new node asssigning toDatabaseExceptionvoid acquireTransactionLocks()
void deleteAllJobs()
boolean insertNode(java.lang.String nodeId,
long heartbeat,
java.lang.String leaderNodeId)
throws DatabaseException
DatabaseExceptionboolean removeNode(java.lang.String nodeId)
throws DatabaseException
DatabaseExceptionboolean updateNodeHeartbeat(java.lang.String nodeId,
long heartbeat,
java.lang.String leaderNodeId)
throws DatabaseException
DatabaseExceptionjava.util.List<Node> retrieveClusterNodes(java.lang.String leaderNode) throws DatabaseException
DatabaseExceptionCopyright © 2021 WSO2. All Rights Reserved.