subserver 0.2.2 → 0.4.3
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/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.
|