Skip to content

Commit

Permalink
Rename concurrency_limit_duration to concurrency_duration
Browse files Browse the repository at this point in the history
  • Loading branch information
rosa committed Nov 20, 2023
1 parent 96e86bb commit aad22b7
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion app/models/solid_queue/job/concurrency_controls.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ module ConcurrencyControls
included do
has_one :blocked_execution, dependent: :destroy

delegate :concurrency_limit, :concurrency_limit_duration, to: :job_class
delegate :concurrency_limit, :concurrency_duration, to: :job_class
end

def unblock_blocked_jobs
Expand Down
6 changes: 3 additions & 3 deletions app/models/solid_queue/semaphore.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ class SolidQueue::Semaphore < SolidQueue::Record
class << self
def wait(job)
if semaphore = find_by(key: job.concurrency_key)
semaphore.value > 0 && attempt_decrement(job.concurrency_key, job.concurrency_limit_duration)
semaphore.value > 0 && attempt_decrement(job.concurrency_key, job.concurrency_duration)
else
attempt_creation(job.concurrency_key, job.concurrency_limit, job.concurrency_limit_duration)
attempt_creation(job.concurrency_key, job.concurrency_limit, job.concurrency_duration)
end
end

def signal(job)
attempt_increment(job.concurrency_key, job.concurrency_limit, job.concurrency_limit_duration)
attempt_increment(job.concurrency_key, job.concurrency_limit, job.concurrency_duration)
end

private
Expand Down
4 changes: 2 additions & 2 deletions lib/active_job/concurrency_controls.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ module ConcurrencyControls
class_attribute :concurrency_key, default: DEFAULT_CONCURRENCY_KEY, instance_accessor: false

class_attribute :concurrency_limit, default: 0 # No limit
class_attribute :concurrency_limit_duration, default: SolidQueue.default_concurrency_control_period
class_attribute :concurrency_duration, default: SolidQueue.default_concurrency_control_period
end

class_methods do
def restrict_concurrency_with(limit: 1, key: DEFAULT_CONCURRENCY_KEY, duration: SolidQueue.default_concurrency_control_period)
self.concurrency_limit = limit
self.concurrency_key = key
self.concurrency_limit_duration = duration
self.concurrency_duration = duration
end
end

Expand Down

0 comments on commit aad22b7

Please sign in to comment.