Class JobClaimService

java.lang.Object
com.bluebell.greenhouse.radicle.services.job.JobClaimService

@Service public class JobClaimService extends Object
Atomically claims due PostgreSQL-backed work and manages database concurrency slots.
Version:
3.0.6
Author:
Stephen Prizio
  • Constructor Details

    • JobClaimService

      public JobClaimService()
  • Method Details

    • claimDueJobs

      @Transactional public List<JobClaim> claimDueJobs(String workerId, int batchSize)
      Claims due work using row locks that skip candidates owned by another dispatcher.
      Parameters:
      workerId - worker identity
      batchSize - maximum claims
      Returns:
      granted claims
    • renewLease

      @Transactional public boolean renewLease(JobClaim claim)
      Renews a lease while the claim is still current.
      Parameters:
      claim - current claim
      Returns:
      true when renewed
    • releaseSlot

      @Transactional public void releaseSlot(JobClaim claim)
      Releases a concurrency slot after terminal completion.
      Parameters:
      claim - completed claim
    • releaseUnstarted

      @Transactional public void releaseUnstarted(JobClaim claim)
      Returns a claim to the queue when the local executor rejects it before execution.
      Parameters:
      claim - rejected claim