backfiller 0.2.0 → 0.2.2

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
2
  SHA256:
3
- metadata.gz: 18b60be56e9153bca870e126330f666518c012c885c2e3d86d5c24625b395780
4
- data.tar.gz: 06e10fa60228916766f7740231add1e1acc0c3f7dec1b9a1055785d908941a29
3
+ metadata.gz: 1c24e062cc5912339de434c17eabe729dcc48df6a361b891ba3c23985bc0bd92
4
+ data.tar.gz: d26a5b2bd63c94c1453ab0160463c446532c6fa8279b5bb0d049fe32d14f4785
5
5
  SHA512:
6
- metadata.gz: 0315e6720c7ec5c15904696843caef797a5beceb2771934b01dcc61fddbbb4f65c28fb9b4a60ad94ea2c1d31161facc64f5016a8a236f506ea02f560b94e9262
7
- data.tar.gz: 5a085ff3f03022926e6e188f1900f3697658ca78489e45273fce7fc6d6a78e93708c481c7bcfd09ddf049fe223c04f8ac6f625d7dc0fa103282070b1297d23f0
6
+ metadata.gz: 0650a73d5913a0a5a742adddcf07fc7c5c802f1b2d5e7a03f7e46c5d77872274af134ad20495e7cb7f9a56ba3bf9f7e189584135b2508280bac94756c6421340
7
+ data.tar.gz: ad1ffc87d70618cbd348633fceebcccad553d148677464791548e0725b491edf7a2fad8e6e2f3bb3b9f57e97ce2a181328746cb9a75d7e7a4f12752f5987c381
data/Changelog.md CHANGED
@@ -1,13 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.2
4
+
5
+ - Always release connections in runner (#5).
6
+
7
+ ## 0.2.1
8
+
9
+ - `cursor_threshold` is nil by default.
10
+
3
11
  ## 0.2.0
4
12
 
5
- * Upgrade local gems
6
- * Add rubocop
7
- * Add specs
8
- * Configure travis
9
- * Add `cursor_threshold` feature
13
+ - Upgrade local gems
14
+ - Add rubocop
15
+ - Add specs
16
+ - Configure travis
17
+ - Add `cursor_threshold` feature
10
18
 
11
19
  ## 0.1.1
12
20
 
13
- * Support Rails 6.0.0
21
+ - Support Rails 6.0.0
data/README.md CHANGED
@@ -168,6 +168,7 @@ For Rails application backfiller is initialized with next options
168
168
  * task_directory: `RAILS_ROOT/db/backfill`
169
169
  * task_namespace: `Backfill`
170
170
  * batch_size: `1_000`
171
+ * cursor_threshold: `nil`
171
172
  * connection_pool: `ApplicationRecord.connection_pool`
172
173
  * logger: `ApplicationRecord.logger`
173
174
 
@@ -186,6 +187,10 @@ class Backfill::Foo
186
187
  def batch_size
187
188
  100
188
189
  end
190
+
191
+ def cursor_threshold
192
+ 100_000
193
+ end
189
194
  end
190
195
  ```
191
196
 
data/backfiller.gemspec CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'backfiller'
8
- spec.version = '0.2.0'
8
+ spec.version = '0.2.2'
9
9
  spec.authors = ['Andriy Yanko']
10
10
  spec.email = ['andriy.yanko@railsware.com']
11
11
 
@@ -14,8 +14,6 @@ module Backfiller
14
14
 
15
15
  config.batch_size = 1_000
16
16
 
17
- config.cursor_threshold = 100_000
18
-
19
17
  config.logger = defined?(ApplicationRecord) ? ApplicationRecord.logger : ActiveRecord::Base.logger
20
18
  end
21
19
  end
@@ -46,12 +46,14 @@ module Backfiller
46
46
  master_connection = acquire_connection
47
47
  worker_connection = acquire_connection
48
48
 
49
- run_cursor_loop(master_connection) do |row|
50
- process_method.call(worker_connection, row)
49
+ begin
50
+ run_cursor_loop(master_connection) do |row|
51
+ process_method.call(worker_connection, row)
52
+ end
53
+ ensure
54
+ release_connection(master_connection)
55
+ release_connection(worker_connection)
51
56
  end
52
-
53
- release_connection(master_connection)
54
- release_connection(worker_connection)
55
57
  end
56
58
 
57
59
  private
@@ -114,7 +116,7 @@ module Backfiller
114
116
 
115
117
  Backfiller.log "Processed #{count}"
116
118
 
117
- return [false, count] if count > cursor_threshold
119
+ return [false, count] if cursor_threshold && count > cursor_threshold
118
120
  end
119
121
  end
120
122
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: backfiller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Yanko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-05 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
142
  requirements: []
143
- rubygems_version: 3.1.4
143
+ rubygems_version: 3.3.26
144
144
  signing_key:
145
145
  specification_version: 4
146
146
  summary: Backfiller for null database columns