belated 0.6.5 → 0.6.6

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: b76db91c6812b59cfd2ede6c6e8d5664cde8547de40b0d05345f624e9cba4729
4
- data.tar.gz: 99e886f91004d6d467db2aa7103e59c0da5bedaa5d2359fd9e91bd69b17a424d
3
+ metadata.gz: 628f04309c824751bd90f72163d29738f5600f7ed5b759b0106d09b9eccbf23e
4
+ data.tar.gz: 1318b353fb2047ae6e185f0af720a987a3d8c784a483df04a79601fb595ff28f
5
5
  SHA512:
6
- metadata.gz: a1c095daefe085f5913c363609a3a5b038a0025e133ed0ab16ad131d09a26c4c4d69489b87e5a4939dd6da105b428f6ea9ab186ef38a53bb2ec3605bdbb8086d
7
- data.tar.gz: 79532774d5169e6781828792b94ef1dd38c0cedbf68b838b95e2c2d64d01d922e0cb9ac093e76524f3c784f9b346bb0e87bda319fb50e1bb1ac8ecd9abd81fbc
6
+ metadata.gz: de9793daf6f3987be47b798916dbdfa16e7be92211f46395ed4d63eabf7ae127420952c047df749de584404cd18e80a002f5fadb40896421583e80f3ebe9bf2a
7
+ data.tar.gz: 3a09388e73a833d3230787f6191cd02a86cc4ebf3e58ba950d8631eba31a67fe4cf319bfaa448bc471b5fe1a933d9564c7d846d3416d91832a7b5331c78e62b9
@@ -4,14 +4,19 @@ on: [push,pull_request]
4
4
 
5
5
  jobs:
6
6
  build:
7
- runs-on: ubuntu-latest
7
+ strategy:
8
+ fail-fast: false
9
+ matrix:
10
+ os: [ubuntu-latest, macos-latest]
11
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
12
+ ruby: [2.6, 2.7, '3.0']
13
+ runs-on: ${{ matrix.os }}
8
14
  steps:
9
15
  - uses: actions/checkout@v2
10
16
  - name: Set up Ruby
11
17
  uses: ruby/setup-ruby@v1
12
18
  with:
13
- ruby-version: 3.0.2
14
- bundler-cache: true
15
- cache-version: 1
19
+ ruby-version: ${{ matrix.ruby }}
20
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
16
21
  - name: Run the default task
17
22
  run: bundle exec rake
data/.rubocop.yml CHANGED
@@ -1,9 +1,10 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.7
2
+ TargetRubyVersion: 2.6
3
3
  NewCops: enable
4
4
  Exclude:
5
5
  - 'dummy/**/*'
6
6
  - 'vendor/**/*'
7
+ - '*gemspec'
7
8
 
8
9
  Lint/HashCompareByIdentity:
9
10
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.6.6] - 2021-08-25
4
+
5
+ - Tests now run agains Ruby 2.6, so relaxing the version constraint.
6
+ - Add client_heartbeat option, so you can define how often you want jobs sent to the Belated server.
3
7
  ## [0.6.5] - 2021-08-23
4
8
 
5
9
  - Timezone used inside Belated is all using the server time now, so it's up to the user to take care of that(using `Time.now` instead of `Time.now.utc`)
data/Gemfile CHANGED
@@ -15,4 +15,4 @@ gem 'rspec-rails'
15
15
  gem 'rubocop', '~> 1.7'
16
16
  gem 'rubocop-discourse'
17
17
  gem 'sqlite3'
18
- gem 'stackprof'
18
+ # gem 'stackprof'
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- belated (0.6.5)
4
+ belated (0.6.6)
5
5
  drb
6
6
  dry-configurable
7
+ ruby2_keywords
7
8
  sorted_set
8
9
 
9
10
  GEM
@@ -97,9 +98,15 @@ GEM
97
98
  marcel (1.0.1)
98
99
  method_source (1.0.0)
99
100
  mini_mime (1.1.0)
101
+ mini_portile2 (2.6.1)
100
102
  minitest (5.14.4)
101
103
  nio4r (2.5.7)
102
- nokogiri (1.11.7-x86_64-linux)
104
+ nokogiri (1.12.3)
105
+ mini_portile2 (~> 2.6.1)
106
+ racc (~> 1.4)
107
+ nokogiri (1.12.3-x86_64-darwin)
108
+ racc (~> 1.4)
109
+ nokogiri (1.12.3-x86_64-linux)
103
110
  racc (~> 1.4)
104
111
  parallel (1.20.1)
105
112
  parser (3.0.2.0)
@@ -178,6 +185,7 @@ GEM
178
185
  rubocop (~> 1.0)
179
186
  rubocop-ast (>= 1.1.0)
180
187
  ruby-progressbar (1.11.0)
188
+ ruby2_keywords (0.0.5)
181
189
  set (1.0.1)
182
190
  sorted_set (1.0.3)
183
191
  rbtree
@@ -190,7 +198,6 @@ GEM
190
198
  activesupport (>= 4.0)
191
199
  sprockets (>= 3.0.0)
192
200
  sqlite3 (1.4.2)
193
- stackprof (0.2.16)
194
201
  thor (1.1.0)
195
202
  tzinfo (2.0.4)
196
203
  concurrent-ruby (~> 1.0)
@@ -201,6 +208,8 @@ GEM
201
208
  zeitwerk (2.4.2)
202
209
 
203
210
  PLATFORMS
211
+ ruby
212
+ x86_64-darwin-19
204
213
  x86_64-linux
205
214
 
206
215
  DEPENDENCIES
@@ -214,7 +223,6 @@ DEPENDENCIES
214
223
  rubocop (~> 1.7)
215
224
  rubocop-discourse
216
225
  sqlite3
217
- stackprof
218
226
 
219
227
  BUNDLED WITH
220
228
  2.2.22
data/README.md CHANGED
@@ -10,8 +10,6 @@ Note that Belated used to be called HardWorker. That name was already in use in
10
10
 
11
11
  It uses dRuby to do the communication! Which is absolute great. No need for Redis or PostgreSQL, just Ruby standard libraries.
12
12
 
13
- Note that currently the timezone is hardcoded to UTC.
14
-
15
13
  Can be used with or without Rails.
16
14
 
17
15
  Can be used if you're on a normal instance such as EC2 or Digital Ocean drop. Not if you're on a Heroku or Docker, or anything with ephemeral storage.
@@ -136,8 +134,10 @@ Other available settings:
136
134
 
137
135
  $ bundle exec belated --host=1.1.1.1 --port=1234
138
136
  # druby://1.1.1.1:1234
139
- $ bundle exec belated --env
137
+ $ bundle exec belated --env=test
140
138
  # environment
139
+ $ bundle exec belated --client_heartbeat=10
140
+ # how often client sends jobs to server, default is once every 5 seconds
141
141
 
142
142
 
143
143
  Number of workers.
data/belated.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  ).gsub(/\s+/, ' ').strip
16
16
  spec.homepage = 'https://github.com/sampokuokkanen/belated'
17
17
  spec.license = 'MIT'
18
- spec.required_ruby_version = Gem::Requirement.new('>= 2.7.0')
18
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
19
19
 
20
20
  spec.metadata['homepage_uri'] = spec.homepage
21
21
  spec.metadata['source_code_uri'] = spec.homepage
@@ -33,6 +33,7 @@ Gem::Specification.new do |spec|
33
33
  # Uncomment to register a new dependency of your gem
34
34
  spec.add_dependency 'drb'
35
35
  spec.add_dependency 'dry-configurable'
36
+ spec.add_dependency 'ruby2_keywords'
36
37
  spec.add_dependency 'sorted_set'
37
38
  spec.add_development_dependency 'byebug'
38
39
 
@@ -47,15 +47,12 @@ class Belated
47
47
  Thread.new do
48
48
  loop do
49
49
  delete_from_table
50
- sleep 10 and next if bank.empty?
51
-
52
- until bank.empty?
53
- begin
54
- queue.push(wrapper = bank.pop)
55
- rescue DRb::DRbConnError
56
- bank.push(wrapper)
57
- sleep 5
58
- end
50
+ sleep Belated.client_heartbeat and next if bank.empty?
51
+
52
+ bank.length.times do
53
+ queue.push(wrapper = bank.pop)
54
+ rescue DRb::DRbConnError
55
+ bank.push(wrapper)
59
56
  end
60
57
  end
61
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Belated
4
- VERSION = '0.6.5'
4
+ VERSION = '0.6.6'
5
5
  end
data/lib/belated.rb CHANGED
@@ -33,6 +33,7 @@ class Belated
33
33
  setting :log_level, :info, reader: true
34
34
  setting :host, 'localhost', reader: true
35
35
  setting :port, '8788', reader: true
36
+ setting :client_heartbeat, 5, reader: true
36
37
  URI = "druby://#{Belated.host}:#{Belated.port}"
37
38
 
38
39
  # Since it's running as a singleton, we need something to start it up.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: belated
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sampo Kuokkanen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-08-23 00:00:00.000000000 Z
11
+ date: 2021-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: drb
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby2_keywords
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: sorted_set
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -118,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
132
  requirements:
119
133
  - - ">="
120
134
  - !ruby/object:Gem::Version
121
- version: 2.7.0
135
+ version: 2.6.0
122
136
  required_rubygems_version: !ruby/object:Gem::Requirement
123
137
  requirements:
124
138
  - - ">="