Module: Cloudtasker::UniqueJob

Defined in:
lib/cloudtasker/unique_job.rb,
lib/cloudtasker/unique_job/job.rb,
lib/cloudtasker/unique_job/lock/no_op.rb,
lib/cloudtasker/unique_job/lock_error.rb,
lib/cloudtasker/unique_job/middleware.rb,
lib/cloudtasker/unique_job/lock/base_lock.rb,
lib/cloudtasker/unique_job/middleware/client.rb,
lib/cloudtasker/unique_job/middleware/server.rb,
lib/cloudtasker/unique_job/lock/until_executed.rb,
lib/cloudtasker/unique_job/lock/until_completed.rb,
lib/cloudtasker/unique_job/lock/until_executing.rb,
lib/cloudtasker/unique_job/lock/while_executing.rb,
lib/cloudtasker/unique_job/conflict_strategy/raise.rb,
lib/cloudtasker/unique_job/conflict_strategy/reject.rb,
lib/cloudtasker/unique_job/conflict_strategy/reschedule.rb,
lib/cloudtasker/unique_job/conflict_strategy/base_strategy.rb

Overview

UniqueJob configurator

Defined Under Namespace

Modules: ConflictStrategy, Lock, Middleware Classes: Job, LockError

Constant Summary collapse

DEFAULT_LOCK_TTL =

The maximum duration a lock can remain in place after schedule time.

10 * 60
DEFAULT_LOCK_PROVISIONAL_TTL =

The maximum duration of the provisional lock while enqueuing a job.

3

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.lock_provisional_ttlInteger

Return the provisional TTL for locks

Returns:

  • (Integer)

    The lock TTL.



40
41
42
# File 'lib/cloudtasker/unique_job.rb', line 40

def lock_provisional_ttl
  @lock_provisional_ttl || DEFAULT_LOCK_PROVISIONAL_TTL
end

.lock_ttlInteger

Return the max TTL for locks

Returns:

  • (Integer)

    The lock TTL.



31
32
33
# File 'lib/cloudtasker/unique_job.rb', line 31

def lock_ttl
  @lock_ttl || DEFAULT_LOCK_TTL
end

Class Method Details

.configure {|_self| ... } ⇒ Object

Configure the middleware

Yields:

  • (_self)

Yield Parameters:



22
23
24
# File 'lib/cloudtasker/unique_job.rb', line 22

def configure
  yield(self)
end