journaled 2.3.1 → 2.4.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/README.md +12 -0
- data/app/models/journaled/delivery.rb +4 -1
- data/lib/journaled.rb +3 -0
- data/lib/journaled/version.rb +1 -1
- data/spec/models/journaled/delivery_spec.rb +33 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a57088ffa5913d3e80f1d6d978bfe3f0a4ff090bd78f20f3fcbed1c32b84bdbc
|
4
|
+
data.tar.gz: 75c470723ae03dd2695300c0a8a2aaf0d05202fac8fdb5157efd248214a7eb6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffcbd7201f572423fa304c440d18b2993e7a97050b5ac7b1be68143da64a8c7caaa430aa3ef64d8a99940380b67361e50ef55cb9ce01cecb9dd017f977e08934
|
7
|
+
data.tar.gz: a6c33d7c56b1fbd9558d219617a12dbfa0b704dac7b9ca3171cd2387477a3b00a6fe6dac592ed6a8cc4a4f6de2cbb806ff49d670134131a6e2eddfe5d64be0d7
|
data/README.md
CHANGED
@@ -88,6 +88,18 @@ Journaling provides a number of different configuation options that can be set i
|
|
88
88
|
This can be used to configure what `priority` the Delayed Jobs are enqueued with. This will be applied to all the Journaled::Devivery jobs that are created by this application.
|
89
89
|
Ex: `Journaled.job_priority = 14`
|
90
90
|
|
91
|
+
#### `Journaled.http_idle_timeout` (default: 1 second)
|
92
|
+
|
93
|
+
The number of seconds a persistent connection is allowed to sit idle before it should no longer be used.
|
94
|
+
|
95
|
+
#### `Journaled.http_open_timeout` (default: 15 seconds)
|
96
|
+
|
97
|
+
The number of seconds before the :http_handler should timeout while trying to open a new HTTP session.
|
98
|
+
|
99
|
+
#### `Journaled.http_read_timeout` (default: 60 seconds)
|
100
|
+
|
101
|
+
The number of seconds before the :http_handler should timeout while waiting for a HTTP response.
|
102
|
+
|
91
103
|
#### DJ `enqueue` options
|
92
104
|
|
93
105
|
Both model-level directives accept additional options to be passed into DelayedJob's `enqueue` method:
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class Journaled::Delivery
|
1
|
+
class Journaled::Delivery # rubocop:disable Betterment/ActiveJobPerformable
|
2
2
|
DEFAULT_REGION = 'us-east-1'.freeze
|
3
3
|
|
4
4
|
def initialize(serialized_event:, partition_key:, app_name:)
|
@@ -26,6 +26,9 @@ class Journaled::Delivery
|
|
26
26
|
{
|
27
27
|
region: ENV.fetch('AWS_DEFAULT_REGION', DEFAULT_REGION),
|
28
28
|
retry_limit: 0,
|
29
|
+
http_idle_timeout: Journaled.http_idle_timeout,
|
30
|
+
http_open_timeout: Journaled.http_open_timeout,
|
31
|
+
http_read_timeout: Journaled.http_read_timeout,
|
29
32
|
}.merge(credentials)
|
30
33
|
end
|
31
34
|
|
data/lib/journaled.rb
CHANGED
@@ -9,6 +9,9 @@ require 'journaled/enqueue'
|
|
9
9
|
module Journaled
|
10
10
|
mattr_accessor :default_app_name
|
11
11
|
mattr_accessor(:job_priority) { 20 }
|
12
|
+
mattr_accessor(:http_idle_timeout) { 5 }
|
13
|
+
mattr_accessor(:http_open_timeout) { 15 }
|
14
|
+
mattr_accessor(:http_read_timeout) { 60 }
|
12
15
|
|
13
16
|
def development_or_test?
|
14
17
|
%w(development test).include?(Rails.env)
|
data/lib/journaled/version.rb
CHANGED
@@ -185,5 +185,38 @@ RSpec.describe Journaled::Delivery do
|
|
185
185
|
expect(subject.kinesis_client_config).to include(access_key_id: 'key_id', secret_access_key: 'secret')
|
186
186
|
end
|
187
187
|
end
|
188
|
+
|
189
|
+
it "will set http_idle_timeout by default" do
|
190
|
+
expect(subject.kinesis_client_config).to include(http_idle_timeout: 5)
|
191
|
+
end
|
192
|
+
|
193
|
+
it "will set http_open_timeout by default" do
|
194
|
+
expect(subject.kinesis_client_config).to include(http_open_timeout: 15)
|
195
|
+
end
|
196
|
+
|
197
|
+
it "will set http_read_timeout by default" do
|
198
|
+
expect(subject.kinesis_client_config).to include(http_read_timeout: 60)
|
199
|
+
end
|
200
|
+
|
201
|
+
context "when Journaled.http_idle_timeout is specified" do
|
202
|
+
it "will set http_idle_timeout by specified value" do
|
203
|
+
allow(Journaled).to receive(:http_idle_timeout).and_return(2)
|
204
|
+
expect(subject.kinesis_client_config).to include(http_idle_timeout: 2)
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
context "when Journaled.http_open_timeout is specified" do
|
209
|
+
it "will set http_open_timeout by specified value" do
|
210
|
+
allow(Journaled).to receive(:http_open_timeout).and_return(2)
|
211
|
+
expect(subject.kinesis_client_config).to include(http_open_timeout: 2)
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
context "when Journaled.http_read_timeout is specified" do
|
216
|
+
it "will set http_read_timeout by specified value" do
|
217
|
+
allow(Journaled).to receive(:http_read_timeout).and_return(2)
|
218
|
+
expect(subject.kinesis_client_config).to include(http_read_timeout: 2)
|
219
|
+
end
|
220
|
+
end
|
188
221
|
end
|
189
222
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: journaled
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jake Lipson
|
8
8
|
- Corey Alexander
|
9
9
|
- Cyrus Eslami
|
10
10
|
- John Mileham
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2020-
|
14
|
+
date: 2020-12-09 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: aws-sdk-kinesis
|
@@ -341,7 +341,7 @@ homepage: http://github.com/Betterment/journaled
|
|
341
341
|
licenses:
|
342
342
|
- MIT
|
343
343
|
metadata: {}
|
344
|
-
post_install_message:
|
344
|
+
post_install_message:
|
345
345
|
rdoc_options: []
|
346
346
|
require_paths:
|
347
347
|
- lib
|
@@ -356,8 +356,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
356
|
- !ruby/object:Gem::Version
|
357
357
|
version: '0'
|
358
358
|
requirements: []
|
359
|
-
rubygems_version: 3.1
|
360
|
-
signing_key:
|
359
|
+
rubygems_version: 3.0.1
|
360
|
+
signing_key:
|
361
361
|
specification_version: 4
|
362
362
|
summary: Journaling for Betterment apps.
|
363
363
|
test_files:
|