File tree Expand file tree Collapse file tree 2 files changed +23
-5
lines changed
Expand file tree Collapse file tree 2 files changed +23
-5
lines changed Original file line number Diff line number Diff 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
7686end
Original file line number Diff line number Diff 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 ,
You can’t perform that action at this time.
0 commit comments