redis_dedupe 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0da4db93415f5c98a902356181f5b1db2def7b53
4
- data.tar.gz: 2b85d60ec0145b3255c24be42ccfc90cdb2e69cc
2
+ SHA256:
3
+ metadata.gz: 159791cf789f3fe8a961e3c0c5fb8ae6b484188ed60103f70d0b2bd2503f3465
4
+ data.tar.gz: 4b014db8329c328cd4b73cb0375aacecb28b348d303631bd1244f763b9811f44
5
5
  SHA512:
6
- metadata.gz: be65d3500b50e8896adfe218d573be67091cb37d7f30621bfd7e74da92e01ac60bd67c881e6092c84d4564be39b24cf388d386d5efac0e1cbe0e7ba8cced62e8
7
- data.tar.gz: 1d7420b201dc95be3237d48fc9a4c0275c5178dfc5ed8962219f9025c5f46ec021529d94b967aa6fcfdf8e3c94f77a5a8591d7c36f55bb6e00d394cc23ce76a3
6
+ metadata.gz: d525826e14962d81846cdaa05d75ac4f9b4dced5a74ad46f833b6ae1e6a2990e5bd5a82093c03b8cf5458fe19cdde2f495bb41e8267f7edca984eb258483859f
7
+ data.tar.gz: f781e9ac1f80bbbfcdfc5d54db8fde3df894c2e6b8f408429f498ee2d532bbc78aaf559bbf48a8a6c810cb85a624c732e76b7733d5ff0b4af7c4ee4bceb10714
data/catalog-info.yaml ADDED
@@ -0,0 +1,20 @@
1
+ apiVersion: backstage.io/v1alpha1
2
+ kind: Component
3
+ metadata:
4
+ name: redis-dedupe
5
+ description: |
6
+ This is a weak deduper to make things like bulk email run safer. It is not a lock safe for financial/security needs because it uses a weak redis locking pattern that can have race conditions. However, imagine a bulk email job that loops over 100 users, and enqueues a background email for each user. If the job fails at iteration 50, a retry would enqueue all the users again and many will receive dupes. This would continue multiple times as the parent job continued to rerun. By marking that a subjob has been enqueued, we can let that isolated job handle its own failures, and the batch enqueue job can run multiple times without re-enqueueing the same subjobs.
7
+ tags:
8
+ - gem
9
+ - ruby
10
+ - rails
11
+ - redis
12
+ - dedupe
13
+ annotations:
14
+ backstage.io/source-location: url:https://github.com/Kajabi/redis_dedupe/tree/master
15
+ github.com/project-slug: Kajabi/redis_dedupe
16
+ spec:
17
+ system: kajabi-products
18
+ type: gem
19
+ owner: standard-model
20
+ lifecycle: production
@@ -1,3 +1,3 @@
1
1
  module RedisDedupe
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/redis_dedupe.rb CHANGED
@@ -17,9 +17,9 @@ module RedisDedupe
17
17
  end
18
18
 
19
19
  def check(member)
20
- results = redis.pipelined do
21
- redis.sadd(key, member)
22
- redis.expire(key, expires_in)
20
+ results = redis.pipelined do |pipeline|
21
+ pipeline.sadd(key, member)
22
+ pipeline.expire(key, expires_in)
23
23
  end
24
24
 
25
25
  if results[0]
@@ -28,7 +28,7 @@ module RedisDedupe
28
28
  end
29
29
 
30
30
  def finish
31
- redis.del(key)
31
+ redis.unlink(key)
32
32
  end
33
33
 
34
34
  private
data/redis_dedupe.gemspec CHANGED
@@ -17,8 +17,9 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_development_dependency "bundler", "~> 1.6"
20
+ spec.add_development_dependency "bundler"
21
21
  spec.add_development_dependency "rake"
22
22
  spec.add_development_dependency "rspec"
23
23
  spec.add_development_dependency "mock_redis"
24
+ spec.add_development_dependency "pry"
24
25
  end
@@ -51,6 +51,6 @@ describe RedisDedupe::Set, "#finish" do
51
51
  dedupe.check('1') { }
52
52
  dedupe.finish
53
53
 
54
- expect(redis.exists 'spec_key:1').to be(false)
54
+ expect(redis.exists 'spec_key:1').to be(0)
55
55
  end
56
56
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_dedupe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Huynh
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-10 00:00:00.000000000 Z
11
+ date: 2023-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.6'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.6'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: " This is a weak deduper to make things like bulk email run safer. It
70
84
  is not a lock safe for financial/security needs because it uses a weak redis locking
71
85
  pattern that can have race conditions. However, imagine a bulk email job that loops
@@ -86,6 +100,7 @@ files:
86
100
  - LICENSE.txt
87
101
  - README.md
88
102
  - Rakefile
103
+ - catalog-info.yaml
89
104
  - lib/redis_dedupe.rb
90
105
  - lib/redis_dedupe/version.rb
91
106
  - redis_dedupe.gemspec
@@ -96,7 +111,7 @@ homepage: ''
96
111
  licenses:
97
112
  - MIT
98
113
  metadata: {}
99
- post_install_message:
114
+ post_install_message:
100
115
  rdoc_options: []
101
116
  require_paths:
102
117
  - lib
@@ -111,9 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
126
  - !ruby/object:Gem::Version
112
127
  version: '0'
113
128
  requirements: []
114
- rubyforge_project:
115
- rubygems_version: 2.4.5
116
- signing_key:
129
+ rubygems_version: 3.4.10
130
+ signing_key:
117
131
  specification_version: 4
118
132
  summary: A weak deduper to make things like bulk email run safer.
119
133
  test_files: []