Skip to content

Commit 546c4c3

Browse files
committed
More fixes
1 parent c5f6285 commit 546c4c3

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

lib/resque-unique_in_queue.rb

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,14 @@ def uniqueness_log_level=(log_level)
6363
@uniqueness_configuration.log_level = log_level
6464
end
6565

66+
def unique_in_queue_key_base
67+
Configuration.unique_in_queue_key_base
68+
end
69+
70+
def unique_in_queue_key_base=(key_base)
71+
Configuration.unique_in_queue_key_base = key_base
72+
end
73+
6674
self.uniqueness_configuration = Configuration.new # setup defaults
6775

6876
module_function(:in_queue_unique_log,
@@ -71,6 +79,8 @@ def uniqueness_log_level=(log_level)
7179
:uniqueness_configure,
7280
:uniqueness_config_reset,
7381
:uniqueness_log_level,
74-
:uniqueness_log_level=)
82+
:uniqueness_log_level=,
83+
:unique_in_queue_key_base,
84+
:unique_in_queue_key_base=)
7585
end
7686
end

lib/resque/unique_in_queue/configuration.rb

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,20 @@ class Configuration
88

99
attr_accessor :logger,
1010
:log_level,
11-
:unique_in_queue_key_base,
1211
:lock_after_execution_period,
1312
:ttl,
1413
:debug_mode
14+
15+
class << self
16+
attr_accessor :unique_in_queue_key_base
17+
end
18+
# Normally isn't set per job, so it can match across all queued jobs.
19+
@unique_in_queue_key_base = DEFAULT_IN_QUEUE_KEY_BASE
20+
1521
def initialize(**options)
1622
@logger = options.key?(:logger) ? options[:logger] : Logger.new(STDOUT)
1723
@log_level = options.key?(:log_level) ? options[:log_level] : :debug
18-
19-
# Can't be set per job:
20-
@unique_in_queue_key_base = options.key?(:unique_in_queue_key_base) ? options[:unique_in_queue_key_base] : DEFAULT_IN_QUEUE_KEY_BASE
24+
@unique_in_queue_key_base = options.key?(:unique_in_queue_key_base) ? options[:unique_in_queue_key_base] : nil
2125

2226
# Can be set per each job:
2327
@lock_after_execution_period = options.key?(:lock_after_execution_period) ? options[:lock_after_execution_period] : DEFAULT_LOCK_AFTER_EXECUTION_PERIOD
@@ -38,6 +42,10 @@ def log(msg)
3842
Resque::UniqueInQueue.in_queue_unique_log(msg, self)
3943
end
4044

45+
def unique_in_queue_key_base
46+
@unique_in_queue_key_base || self.class.unique_in_queue_key_base
47+
end
48+
4149
def to_hash
4250
{
4351
logger: logger,

0 commit comments

Comments
 (0)