subserver 0.2.2 → 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -1
- data/lib/subserver.rb +1 -0
- data/lib/subserver/cli.rb +2 -2
- data/lib/subserver/listener.rb +11 -6
- data/lib/subserver/manager.rb +1 -0
- data/lib/subserver/pubsub.rb +6 -1
- data/lib/subserver/subscriber.rb +3 -0
- data/lib/subserver/testing.rb +11 -0
- data/lib/subserver/testing/pubsub.rb +17 -0
- data/lib/subserver/version.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15c004ce2d55c6836a1bed4bf035581a7b96377a
|
4
|
+
data.tar.gz: 77b9e1a2f36020ec3f878bd601362148525d911f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ec89e5f29797283ad87b823306e1a68d2f99f08e821dd83bdd14819eda0d40c6ff84e1f3c77a6734c9e1e9a6f5beb562033b9e4eb539cdd271a1f872b62c903
|
7
|
+
data.tar.gz: 8d815574552d3e21bb50bded3060e115f4012f83ac5a7ae0a885236375beb2c83456940178365761f1ae1a3165c7bd5c6e1e8d1c038c91353c131aceefd968e1
|
data/CHANGELOG.md
CHANGED
@@ -1,2 +1,27 @@
|
|
1
|
-
#
|
1
|
+
# 0.4.1
|
2
|
+
- Fix Listener#process_message error handling
|
3
|
+
|
4
|
+
# 0.4.0
|
5
|
+
- Adds listener_startup lifecycle event
|
6
|
+
|
7
|
+
# 0.3.0
|
8
|
+
- Adds Mocks for testing in applications
|
9
|
+
|
10
|
+
# 0.2.2
|
11
|
+
- Fix issue where multi-subscriber options were getting overridden
|
12
|
+
|
13
|
+
# 0.2.1
|
14
|
+
- Use Rails 5 reloader
|
15
|
+
- Fix ActiveRecord connection issues using ConnectionHandler
|
16
|
+
- Use Google's Default Enviroment Variables for fallback
|
17
|
+
|
18
|
+
# 0.2.0
|
19
|
+
- Adds PubSub connection testing
|
20
|
+
- Fixes a case where subserver would infinitly kill and respawn listeners
|
21
|
+
- Cleans up logger code
|
22
|
+
|
23
|
+
# 0.1.1
|
24
|
+
- Fixes connection handling
|
25
|
+
|
26
|
+
# 0.1.0
|
2
27
|
- Initial Public Release
|
data/lib/subserver.rb
CHANGED
data/lib/subserver/cli.rb
CHANGED
@@ -88,8 +88,8 @@ module Subserver
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
91
|
-
#
|
92
|
-
#
|
91
|
+
# Until this point, the process is initializing with just the main thread.
|
92
|
+
# After this point the process will have multiple threads running.
|
93
93
|
fire_event(:startup, reverse: false, reraise: true)
|
94
94
|
|
95
95
|
logger.debug { "Middleware: #{Subserver.middleware.map(&:klass).join(', ')}" }
|
data/lib/subserver/listener.rb
CHANGED
@@ -34,7 +34,7 @@ module Subserver
|
|
34
34
|
@thread = nil
|
35
35
|
@reloader = Subserver.options[:reloader]
|
36
36
|
@subscriber = subscriber
|
37
|
-
@subscription =
|
37
|
+
@subscription = retrieve_subscription
|
38
38
|
@logging = (mgr.options[:message_logger] || Subserver::MessageLogger).new
|
39
39
|
end
|
40
40
|
|
@@ -69,7 +69,7 @@ module Subserver
|
|
69
69
|
|
70
70
|
private unless $TESTING
|
71
71
|
|
72
|
-
def
|
72
|
+
def retrieve_subscription
|
73
73
|
subscription_name = @subscriber.get_subserver_options[:subscription]
|
74
74
|
subscription = Pubsub.client.subscription subscription_name rescue nil
|
75
75
|
if subscription.nil?
|
@@ -90,6 +90,8 @@ module Subserver
|
|
90
90
|
|
91
91
|
def run
|
92
92
|
begin
|
93
|
+
# This begins the listener process in a forked thread
|
94
|
+
fire_event(:listener_startup, reverse: false, reraise: true)
|
93
95
|
connect_subscriber
|
94
96
|
@pubsub_listener.start
|
95
97
|
rescue Subserver::Shutdown
|
@@ -110,9 +112,12 @@ module Subserver
|
|
110
112
|
rescue Subserver::Shutdown
|
111
113
|
# Reject message if shutdown
|
112
114
|
received_message.reject!
|
113
|
-
rescue
|
114
|
-
handle_exception
|
115
|
-
|
115
|
+
rescue StandardError => error
|
116
|
+
handle_exception error, {
|
117
|
+
context: 'Exception raised during message processing.',
|
118
|
+
message: received_message
|
119
|
+
}
|
120
|
+
raise
|
116
121
|
end
|
117
122
|
end
|
118
123
|
|
@@ -121,4 +126,4 @@ module Subserver
|
|
121
126
|
end
|
122
127
|
|
123
128
|
end
|
124
|
-
end
|
129
|
+
end
|
data/lib/subserver/manager.rb
CHANGED
data/lib/subserver/pubsub.rb
CHANGED
@@ -6,6 +6,10 @@ module Subserver
|
|
6
6
|
defined?(@client) ? @client : initialize_client
|
7
7
|
end
|
8
8
|
|
9
|
+
def self.client=(client)
|
10
|
+
@client = client
|
11
|
+
end
|
12
|
+
|
9
13
|
def self.initialize_client
|
10
14
|
@client = Google::Cloud::Pubsub.new(
|
11
15
|
project_id: options[:project_id] || ENV['PUBSUB_PROJECT_ID'],
|
@@ -17,4 +21,5 @@ module Subserver
|
|
17
21
|
Subserver.options
|
18
22
|
end
|
19
23
|
end
|
20
|
-
end
|
24
|
+
end
|
25
|
+
|
data/lib/subserver/subscriber.rb
CHANGED
data/lib/subserver/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: subserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Hill
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-cloud-pubsub
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.7'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 0.31.0
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
29
|
+
version: '1.7'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.31.0
|
@@ -57,6 +57,8 @@ files:
|
|
57
57
|
- lib/subserver/pubsub.rb
|
58
58
|
- lib/subserver/rails.rb
|
59
59
|
- lib/subserver/subscriber.rb
|
60
|
+
- lib/subserver/testing.rb
|
61
|
+
- lib/subserver/testing/pubsub.rb
|
60
62
|
- lib/subserver/util.rb
|
61
63
|
- lib/subserver/version.rb
|
62
64
|
homepage: https://github.com/lifechurch/subserver/
|
@@ -71,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
71
73
|
requirements:
|
72
74
|
- - ">="
|
73
75
|
- !ruby/object:Gem::Version
|
74
|
-
version: 2.
|
76
|
+
version: 2.4.7
|
75
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
78
|
requirements:
|
77
79
|
- - ">="
|
@@ -79,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
81
|
version: '0'
|
80
82
|
requirements: []
|
81
83
|
rubyforge_project:
|
82
|
-
rubygems_version: 2.
|
84
|
+
rubygems_version: 2.6.14.4
|
83
85
|
signing_key:
|
84
86
|
specification_version: 4
|
85
87
|
summary: Simple background server process for Google Pub/Sub.
|