redis_queued_locks 1.13.0 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/.rubocop.yml +0 -1
 - data/.ruby-version +1 -1
 - data/CHANGELOG.md +21 -4
 - data/README.md +368 -107
 - data/Rakefile +1 -1
 - data/Steepfile +0 -1
 - data/github_ci/ruby3.3.gemfile.lock +23 -23
 - data/lib/redis_queued_locks/acquirer/acquire_lock.rb +7 -7
 - data/lib/redis_queued_locks/acquirer/release_all_locks.rb +3 -3
 - data/lib/redis_queued_locks/acquirer/release_lock.rb +3 -3
 - data/lib/redis_queued_locks/acquirer/release_locks_of.rb +221 -0
 - data/lib/redis_queued_locks/acquirer.rb +1 -0
 - data/lib/redis_queued_locks/client.rb +155 -2
 - data/lib/redis_queued_locks/config/dsl.rb +9 -9
 - data/lib/redis_queued_locks/config.rb +15 -10
 - data/lib/redis_queued_locks/errors.rb +3 -3
 - data/lib/redis_queued_locks/swarm.rb +1 -1
 - data/lib/redis_queued_locks/utilities.rb +9 -0
 - data/lib/redis_queued_locks/version.rb +2 -2
 - data/lib/redis_queued_locks.rb +0 -1
 - data/rbs_collection.lock.yaml +1 -13
 - data/rbs_collection.yaml +2 -1
 - data/redis_queued_locks.gemspec +1 -1
 - data/sig/manifest.yml +0 -1
 - data/sig/redis_queued_locks/acquirer/acquire_lock.rbs +1 -0
 - data/sig/redis_queued_locks/acquirer/release_locks_of.rbs +46 -0
 - data/sig/redis_queued_locks/client.rbs +40 -0
 - data/sig/redis_queued_locks/utilities.rbs +1 -0
 - metadata +5 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 5d3c20255c1b685b5f7fbb2d9441808cb6e8522e231e9eafa84dac0b7a968a9c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: d1dd021fa7b303f1066fc942cd1a8df70869585b80ca8a88bb1e5c69de364192
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: e3671472cd833f8a53f10f2bb2a7ae5dcb29f3d48edae159b72e50db25c7a63d80c7e062663fcffb5512001e8198a2aebdec9e8f36414b13785684b762309905
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cf5ede3990749e71137e9c12a63a6f588595db40d4971f76f0fedeb0c72d0343a7c7df14d26952e1a0eeb467de509115d6bbfe723628403e6321a549252d0a1a
         
     | 
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/.ruby-version
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            3.4. 
     | 
| 
      
 1 
     | 
    
         
            +
            3.4.5
         
     | 
    
        data/CHANGELOG.md
    CHANGED
    
    | 
         @@ -1,4 +1,21 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ## [Unreleased]
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ## [1.15.0] - 2025-10-17
         
     | 
| 
      
 4 
     | 
    
         
            +
            ### Changed
         
     | 
| 
      
 5 
     | 
    
         
            +
            - `"redis_queud_locks.release_locks_of"` instrumentation event payload now includes `hst_id` and `acq_id`;
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            ## [1.14.0] - 2025-10-17
         
     | 
| 
      
 8 
     | 
    
         
            +
            ### Added
         
     | 
| 
      
 9 
     | 
    
         
            +
            - `#clear_locks_of`/`#release_locks_of`
         
     | 
| 
      
 10 
     | 
    
         
            +
            - `#clear_current_locks`/`#release_current_locks`
         
     | 
| 
      
 11 
     | 
    
         
            +
            - aliases for `RedisQueuedLocks::Client#current_acquirer_id`: `current_acq_id`, `acq_id`;
         
     | 
| 
      
 12 
     | 
    
         
            +
            - aliases for `RedisQueuedLocks::Client#current_host_id`: `current_hst_id`, `hst_id`;
         
     | 
| 
      
 13 
     | 
    
         
            +
            ### Changed
         
     | 
| 
      
 14 
     | 
    
         
            +
            - bumped ruby development version to 3.4.5;
         
     | 
| 
      
 15 
     | 
    
         
            +
            - bumped development dependencies;
         
     | 
| 
      
 16 
     | 
    
         
            +
            - (**internal**): `Process.clock_gettime` explicit invocations is moved to the `RedisQueuedLocks::Utils`;
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            ## [1.13.0] - 2025-06-07
         
     | 
| 
       2 
19 
     | 
    
         
             
            ### Changed
         
     | 
| 
       3 
20 
     | 
    
         
             
            - Updated development dependencies (`armitage-rubocop`, `rbs`, `steep`);
         
     | 
| 
       4 
21 
     | 
    
         
             
            - Bumped development Ruby version (from `3.3.6` to `3.4.3`);
         
     | 
| 
         @@ -24,7 +41,7 @@ 
     | 
|
| 
       24 
41 
     | 
    
         
             
            - Test coverage (via `simplecov` with `html` and `lcov` formats). `minimum_coverage` config is temporary disabled (and the CI step is not configured yet) cuz we need to refactor tests in first;
         
     | 
| 
       25 
42 
     | 
    
         
             
            - CI:
         
     | 
| 
       26 
43 
     | 
    
         
             
              - `rspec-retry` is temporary added until the tests are fully refactored;
         
     | 
| 
       27 
     | 
    
         
            -
              - typecheck steps: `TypeCheck (Static)` (based on `steep` checks) and ` 
     | 
| 
      
 44 
     | 
    
         
            +
              - typecheck steps: `TypeCheck (Static)` (based on `steep` checks) and `TypeCheck (Runtime)` (based on `RBS` runtime type checking/testing);
         
     | 
| 
       28 
45 
     | 
    
         
             
            - Support for `ActiveSupport::BroadcastLogger` logger instances;
         
     | 
| 
       29 
46 
     | 
    
         | 
| 
       30 
47 
     | 
    
         
             
            ## [1.12.1]
         
     | 
| 
         @@ -258,17 +275,17 @@ 
     | 
|
| 
       258 
275 
     | 
    
         | 
| 
       259 
276 
     | 
    
         
             
            ## [0.0.31] - 2024-03-25
         
     | 
| 
       260 
277 
     | 
    
         
             
            ### Changed
         
     | 
| 
       261 
     | 
    
         
            -
            - `:metadata` renamed to `:instrument` in order to reflect  
     | 
| 
      
 278 
     | 
    
         
            +
            - `:metadata` renamed to `:instrument` in order to reflect its domain area;
         
     | 
| 
       262 
279 
     | 
    
         
             
            - `:metadata` is renamed to `:meta` and reserved for future updates;
         
     | 
| 
       263 
280 
     | 
    
         | 
| 
       264 
281 
     | 
    
         
             
            ## [0.0.30] - 2024-03-23
         
     | 
| 
       265 
282 
     | 
    
         
             
            ### Fixed
         
     | 
| 
       266 
283 
     | 
    
         
             
            - Re-enqueue problem: fixed a problem when the expired lock requests were infinitly re-added to the lock queue
         
     | 
| 
       267 
284 
     | 
    
         
             
              and immediately removed from the lock queue rather than being re-positioned. It happens when the lock request
         
     | 
| 
       268 
     | 
    
         
            -
              ttl reached the queue ttl, and the new request now had the dead score forever (fix:  
     | 
| 
      
 285 
     | 
    
         
            +
              ttl reached the queue ttl, and the new request now had the dead score forever (fix: its score now will be correctly
         
     | 
| 
       269 
286 
     | 
    
         
             
              recalculated from the current time at the dead score time moment);
         
     | 
| 
       270 
287 
     | 
    
         
             
            ### Added
         
     | 
| 
       271 
     | 
    
         
            -
            - Logging: more detailed logs to the `RedisQueuedLocks::Acquier::AcquierLock` logic and  
     | 
| 
      
 288 
     | 
    
         
            +
            - Logging: more detailed logs to the `RedisQueuedLocks::Acquier::AcquierLock` logic and its sub-modules:
         
     | 
| 
       272 
289 
     | 
    
         
             
              - added new logs;
         
     | 
| 
       273 
290 
     | 
    
         
             
              - added `queue_ttl` to each log;
         
     | 
| 
       274 
291 
     | 
    
         |