rservicebus2 0.1.2 → 0.2.4
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 +5 -5
- data/README.md +50 -0
- data/lib/rservicebus2/appresource/awsdynamodb.rb +18 -0
- data/lib/rservicebus2/appresource_configure.rb +3 -0
- data/lib/rservicebus2/config.rb +1 -1
- data/lib/rservicebus2/host.rb +2 -2
- data/lib/rservicebus2/mq.rb +9 -0
- data/lib/rservicebus2/mq/aws.rb +85 -0
- data/lib/rservicebus2/mq/file.rb +59 -0
- data/lib/rservicebus2/mq/redis.rb +53 -0
- data/lib/rservicebus2/saga/manager.rb +8 -5
- data/lib/rservicebus2/saga_loader.rb +7 -7
- data/lib/rservicebus2/saga_storage/dir.rb +1 -1
- metadata +49 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 1ea0b8dd06a2280f3ca70bef921b34f4bad2c1d6a4c043a6accb119b83566940
|
4
|
+
data.tar.gz: b7607e7ed6a0fe7fbe935aa5b3cc2d27817973b33f96c5dda58d0651a1f17570
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1963af8198779b9efabe33b85c236205fcdababb5a75e5b551d72073b9e4342818ac13878e2f533f295ca2e0a90be2767da641230d8382b15d4d485566fc9ac5
|
7
|
+
data.tar.gz: 06dc10763f2a56066405abbe7dff686d120d755f26d3ce8a3b6ca43152c31c8ca2f8826a51ec4fdb3a3d5bb836c4890770919b9cdd9ce603fb94eb4a710dbb0c
|
data/README.md
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
# rservicebus2
|
2
|
+
|
3
|
+
Use the examples directory as the starting point.
|
4
|
+
|
5
|
+
## General Approach
|
6
|
+
|
7
|
+
1. Convention over Configuration
|
8
|
+
2. Configuration via Environment Variables
|
9
|
+
3. Working examples provided for configuration
|
10
|
+
|
11
|
+
## General Config
|
12
|
+
|
13
|
+
### APPNAME
|
14
|
+
1. Name of process
|
15
|
+
2. Doubles as default queueName
|
16
|
+
3. Defaults to directory name
|
17
|
+
|
18
|
+
### MAX_RETRIES
|
19
|
+
1. If an exception is generated while processing a message, the message can be
|
20
|
+
retried. This allows the number of retries to be set.
|
21
|
+
2. Defaults to 5
|
22
|
+
|
23
|
+
### ERROR_QUEUE_NAME
|
24
|
+
1. If an exception is generated while processing a message, the message can be
|
25
|
+
retried. Once all retries are exhausted, the message will be put in the error queue.
|
26
|
+
2. This allows the name of the queue to be set.
|
27
|
+
3. Defaults to error
|
28
|
+
|
29
|
+
### WORKING_DIR
|
30
|
+
1. Where message handlers are looked for.
|
31
|
+
2. Defaults to current directory
|
32
|
+
|
33
|
+
### VERBOSE
|
34
|
+
1. Send out more logging to track message processing
|
35
|
+
|
36
|
+
### AUDIT_QUEUE_NAME
|
37
|
+
1. When set, a copy of all messages sent and received will be add to this queue
|
38
|
+
|
39
|
+
### RSBCRON_[msg name]
|
40
|
+
1. An empty message will be created and sent based on the cron string
|
41
|
+
|
42
|
+
## RSBMQ - Message queue
|
43
|
+
1. Environment Variable Name: RSBMQ
|
44
|
+
|
45
|
+
### Beanstalk
|
46
|
+
|
47
|
+
### Redis
|
48
|
+
|
49
|
+
### SQS
|
50
|
+
RSBMQ=aws://[region]/[queue_name]
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'aws-sdk-dynamodb'
|
2
|
+
|
3
|
+
module RServiceBus2
|
4
|
+
# AppResourceAWSDynamoDb
|
5
|
+
class AppResourceAWSDynamoDb < AppResource
|
6
|
+
# rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
7
|
+
def connect(uri)
|
8
|
+
region = uri.host
|
9
|
+
|
10
|
+
aws = Aws::DynamoDB::Client.new(region: region)
|
11
|
+
puts "aws #{aws}"
|
12
|
+
aws
|
13
|
+
end
|
14
|
+
|
15
|
+
def finished
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -31,6 +31,9 @@ module RServiceBus2
|
|
31
31
|
when 'file'
|
32
32
|
require 'rservicebus2/appresource/file'
|
33
33
|
rm.add k.sub('RSB_', ''), AppResourceFile.new(host, uri)
|
34
|
+
when 'awsdynamodb'
|
35
|
+
require 'rservicebus2/appresource/awsdynamodb'
|
36
|
+
rm.add k.sub('RSB_', ''), AppResourceAWSDynamoDb.new(host, uri)
|
34
37
|
else
|
35
38
|
abort("Scheme, #{uri.scheme}, not recognised when configuring
|
36
39
|
app resource, #{k}=#{v}")
|
data/lib/rservicebus2/config.rb
CHANGED
@@ -133,7 +133,7 @@ module RServiceBus2
|
|
133
133
|
def load_working_dir_list
|
134
134
|
puts "Config.load_working_dir_list.1"
|
135
135
|
puts "Config.load_working_dir_list.2 #{@contract_list}"
|
136
|
-
path_list = get_value('WORKING_DIR')
|
136
|
+
path_list = get_value('WORKING_DIR', './')
|
137
137
|
return self if path_list.nil?
|
138
138
|
|
139
139
|
path_list.split(';').each do |path|
|
data/lib/rservicebus2/host.rb
CHANGED
@@ -43,8 +43,8 @@ module RServiceBus2
|
|
43
43
|
|
44
44
|
# Thin veneer for Configuring state
|
45
45
|
def configure_saga_storage
|
46
|
-
string = RServiceBus2.get_value('SAGA_URI')
|
47
|
-
string = 'dir:///tmp' if string.nil?
|
46
|
+
string = RServiceBus2.get_value('SAGA_URI', 'dir:///tmp/saga')
|
47
|
+
# string = 'dir:///tmp' if string.nil?
|
48
48
|
|
49
49
|
uri = URI.parse(string)
|
50
50
|
@saga_storage = SagaStorage.get(uri)
|
data/lib/rservicebus2/mq.rb
CHANGED
@@ -18,6 +18,15 @@ module RServiceBus2
|
|
18
18
|
when 'beanstalk'
|
19
19
|
require 'rservicebus2/mq/beanstalk'
|
20
20
|
mq = MQBeanstalk.new(uri)
|
21
|
+
when 'file'
|
22
|
+
require 'rservicebus2/mq/file'
|
23
|
+
mq = MQFile.new(uri)
|
24
|
+
when 'redis'
|
25
|
+
require 'rservicebus2/mq/redis'
|
26
|
+
mq = MQRedis.new(uri)
|
27
|
+
when 'aws'
|
28
|
+
require 'rservicebus2/mq/aws'
|
29
|
+
mq = MQAWS.new(uri)
|
21
30
|
else
|
22
31
|
abort("Scheme, #{uri.scheme}, not recognised when configuring mq,
|
23
32
|
#{string}")
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'aws-sdk-sqs'
|
2
|
+
require 'aws-sdk-sts'
|
3
|
+
require 'rservicebus2/mq'
|
4
|
+
|
5
|
+
module RServiceBus2
|
6
|
+
# Beanstalk client implementation.
|
7
|
+
class MQAWS < MQ
|
8
|
+
# Connect to the broker
|
9
|
+
# rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
10
|
+
def connect(region, port)
|
11
|
+
begin
|
12
|
+
@max_job_size = 4_194_304
|
13
|
+
@region = region
|
14
|
+
|
15
|
+
sts_client = Aws::STS::Client.new(region: region)
|
16
|
+
@caller_identity_account = sts_client.get_caller_identity.account
|
17
|
+
rescue StandardError => e
|
18
|
+
puts 'Error connecting to AWS'
|
19
|
+
puts "Host string, #{region}"
|
20
|
+
puts e.message
|
21
|
+
puts e.backtrace
|
22
|
+
abort
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def subscribe(queuename)
|
27
|
+
# For example:
|
28
|
+
# 'https://sqs.us-east-1.amazonaws.com/111111111111/my-queue'
|
29
|
+
@queue_url = 'https://sqs.' + @region + '.amazonaws.com/' +
|
30
|
+
@caller_identity_account + '/' + queuename
|
31
|
+
@sqs_client = Aws::SQS::Client.new(region: @region)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Get next msg from queue
|
35
|
+
def pop
|
36
|
+
begin
|
37
|
+
response = @sqs_client.receive_message(
|
38
|
+
queue_url: @queue_url,
|
39
|
+
max_number_of_messages: 1
|
40
|
+
)
|
41
|
+
|
42
|
+
if response.messages.count.zero?
|
43
|
+
raise NoMsgToProcess
|
44
|
+
end
|
45
|
+
|
46
|
+
response.messages.each do |message|
|
47
|
+
@job = message
|
48
|
+
end
|
49
|
+
rescue StandardError => e
|
50
|
+
raise e
|
51
|
+
end
|
52
|
+
@job.body
|
53
|
+
end
|
54
|
+
|
55
|
+
def return_to_queue
|
56
|
+
# @job.release if @job
|
57
|
+
@job = nil
|
58
|
+
end
|
59
|
+
|
60
|
+
def ack
|
61
|
+
@sqs_client.delete_message({
|
62
|
+
queue_url: @queue_url,
|
63
|
+
receipt_handle: @job.receipt_handle
|
64
|
+
})
|
65
|
+
@job = nil
|
66
|
+
end
|
67
|
+
|
68
|
+
def send(queue_name, msg)
|
69
|
+
if msg.length > @max_job_size
|
70
|
+
puts '***Attempting to send a msg which will not fit on queue.'
|
71
|
+
puts "***Msg size, #{msg.length}, max msg size, #{@max_job_size}."
|
72
|
+
fail JobTooBigError, "Msg size, #{msg.length}, max msg size,
|
73
|
+
#{@max_job_size}"
|
74
|
+
end
|
75
|
+
|
76
|
+
queue_url = 'https://sqs.' + @region + '.amazonaws.com/' +
|
77
|
+
@caller_identity_account + '/' + queue_name
|
78
|
+
|
79
|
+
@sqs_client.send_message(
|
80
|
+
queue_url: queue_url,
|
81
|
+
message_body: msg
|
82
|
+
)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'rservicebus2/mq'
|
3
|
+
|
4
|
+
module RServiceBus2
|
5
|
+
# Beanstalk client implementation.
|
6
|
+
class MQFile < MQ
|
7
|
+
# Connect to the broker
|
8
|
+
# rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
9
|
+
|
10
|
+
def initialize(uri)
|
11
|
+
if uri.is_a? URI
|
12
|
+
@uri = uri
|
13
|
+
else
|
14
|
+
puts 'uri must be a valid URI'
|
15
|
+
abort
|
16
|
+
end
|
17
|
+
|
18
|
+
FileUtils.mkdir_p(@uri.path)
|
19
|
+
@local_queue_name = RServiceBus2.get_value('APPNAME', 'RServiceBus')
|
20
|
+
FileUtils.mkdir_p("#{@uri.path}/#{@local_queue_name}")
|
21
|
+
@timeout = RServiceBus2.get_value('QUEUE_TIMEOUT', '5').to_i
|
22
|
+
end
|
23
|
+
|
24
|
+
def subscribe(queue_name)
|
25
|
+
path = "#{@uri.path}/#{queue_name}"
|
26
|
+
FileUtils.mkdir_p(path)
|
27
|
+
@local_queue_name = queue_name
|
28
|
+
end
|
29
|
+
|
30
|
+
# Get next msg from queue
|
31
|
+
def pop
|
32
|
+
time = @timeout
|
33
|
+
while time > 0
|
34
|
+
files = Dir.glob("#{@uri.path}/#{@local_queue_name}/*.msg")
|
35
|
+
if files.length > 0
|
36
|
+
@file_path = files[0]
|
37
|
+
@body = IO.read(@file_path)
|
38
|
+
return @body
|
39
|
+
end
|
40
|
+
time -= 1
|
41
|
+
sleep(1)
|
42
|
+
end
|
43
|
+
|
44
|
+
raise NoMsgToProcess if files.length == 0
|
45
|
+
end
|
46
|
+
|
47
|
+
def return_to_queue
|
48
|
+
end
|
49
|
+
|
50
|
+
def ack
|
51
|
+
FileUtils.rm @file_path
|
52
|
+
end
|
53
|
+
|
54
|
+
def send(queue_name, msg)
|
55
|
+
FileUtils.mkdir_p("#{@uri.path}/#{queue_name}")
|
56
|
+
IO.write("#{@uri.path}/#{queue_name}/#{rand()}.msg", msg)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'redis'
|
2
|
+
require 'rservicebus2/mq'
|
3
|
+
|
4
|
+
module RServiceBus2
|
5
|
+
# Redis client implementation.
|
6
|
+
class MQRedis < MQ
|
7
|
+
# Connect to the broker
|
8
|
+
# rubocop:disable Metrics/AbcSize,Metrics/MethodLength
|
9
|
+
def connect(host, port)
|
10
|
+
port ||= 6379
|
11
|
+
string = "#{host}:#{port}"
|
12
|
+
|
13
|
+
begin
|
14
|
+
@redis = Redis.new(:host => host, :port => port)
|
15
|
+
|
16
|
+
rescue Exception => e
|
17
|
+
puts e.message
|
18
|
+
puts 'Error connecting to Redis for mq'
|
19
|
+
puts "Host string, #{string}"
|
20
|
+
abort()
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Connect to the queue
|
25
|
+
def subscribe( queuename )
|
26
|
+
@queuename = queuename
|
27
|
+
end
|
28
|
+
|
29
|
+
# Get next msg from queue
|
30
|
+
def pop
|
31
|
+
if @redis.llen( @queuename ) == 0 then
|
32
|
+
sleep @timeout
|
33
|
+
raise NoMsgToProcess.new
|
34
|
+
end
|
35
|
+
|
36
|
+
return @redis.lindex @queuename, 0
|
37
|
+
end
|
38
|
+
|
39
|
+
def returnToQueue
|
40
|
+
end
|
41
|
+
|
42
|
+
# "Commit" queue
|
43
|
+
def ack
|
44
|
+
@redis.lpop @queuename
|
45
|
+
end
|
46
|
+
|
47
|
+
# At least called in the Host rescue block, to ensure all network links are healthy
|
48
|
+
def send( queueName, msg )
|
49
|
+
@redis.rpush queueName, msg
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
@@ -24,7 +24,7 @@ module RServiceBus2
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def get_start_with_method_names(saga)
|
27
|
-
get_methods_by_prefix(saga, '
|
27
|
+
get_methods_by_prefix(saga, 'start_with_')
|
28
28
|
end
|
29
29
|
|
30
30
|
# setBusAttributeIfRequested
|
@@ -63,7 +63,7 @@ module RServiceBus2
|
|
63
63
|
@start_with[msg_name] = [] if @start_with[msg_name].nil?
|
64
64
|
@start_with[msg_name] << s
|
65
65
|
|
66
|
-
RServiceBus2.log "Registered, #{saga.name}, to
|
66
|
+
RServiceBus2.log "Registered, #{saga.name}, to start_with, #{msg_name}", true
|
67
67
|
end
|
68
68
|
|
69
69
|
@saga[saga.name] = s
|
@@ -88,12 +88,13 @@ module RServiceBus2
|
|
88
88
|
msg_class_name = msg.class.name.downcase
|
89
89
|
|
90
90
|
RServiceBus2.log "SagaManager, started processing, #{msg_class_name}", true
|
91
|
-
|
91
|
+
if @start_with.key?(msg_class_name)
|
92
|
+
# unless @start_with[msg_class_name].nil?
|
92
93
|
@start_with[msg_class_name].each do |saga|
|
93
94
|
data = SagaData.new(saga)
|
94
95
|
@saga_storage.set(data)
|
95
96
|
|
96
|
-
method_name = "
|
97
|
+
method_name = "start_with_#{msg_class_name}"
|
97
98
|
process_msg(saga, data, method_name, msg)
|
98
99
|
|
99
100
|
handled = true
|
@@ -102,8 +103,10 @@ module RServiceBus2
|
|
102
103
|
return handled if handled == true
|
103
104
|
|
104
105
|
return false if rmsg.correlation_id.nil?
|
106
|
+
|
105
107
|
data = @saga_storage.get(rmsg.correlation_id)
|
106
|
-
return
|
108
|
+
return false if data.nil?
|
109
|
+
|
107
110
|
method_name = "handle_#{msg_class_name}"
|
108
111
|
saga = @saga[data.saga_class_name]
|
109
112
|
process_msg(saga, data, method_name, msg)
|
@@ -16,21 +16,21 @@ module RServiceBus2
|
|
16
16
|
# Cleans the given path to ensure it can be used for as a parameter for the
|
17
17
|
# require statement.
|
18
18
|
# @param [String] file_path the path to be cleaned
|
19
|
-
def get_require_path(
|
19
|
+
def get_require_path(file_path)
|
20
20
|
file_path = './' + file_path unless file_path.start_with?('/')
|
21
21
|
|
22
22
|
return file_path.sub('.rb', '') if File.exist?(file_path)
|
23
23
|
|
24
|
-
abort('Filepath, ' +
|
24
|
+
abort('Filepath, ' + file_path + ", given for Saga require doesn't exist")
|
25
25
|
end
|
26
26
|
|
27
|
-
# Instantiate the saga named in sagaName from the file name in
|
27
|
+
# Instantiate the saga named in sagaName from the file name in file_path
|
28
28
|
# Exceptions will be raised if encountered when loading sagas. This is a
|
29
29
|
# load time activity, so sagas should load correctly. As much information
|
30
30
|
# as possible is returned to enable the saga to be fixed, or configuration
|
31
31
|
# corrected.
|
32
32
|
# @param [String] sagaName name of the saga to instantiate
|
33
|
-
# @param [String]
|
33
|
+
# @param [String] file_path the path to the file to be loaded
|
34
34
|
# @return [RServiceBus2::Saga] the loader
|
35
35
|
def load_saga_from_file(saga_name, file_path)
|
36
36
|
require_path = get_require_path(file_path)
|
@@ -50,7 +50,7 @@ module RServiceBus2
|
|
50
50
|
end
|
51
51
|
|
52
52
|
# Wrapper function
|
53
|
-
# @param [String]
|
53
|
+
# @param [String] file_path
|
54
54
|
# @param [String] sagaName
|
55
55
|
# @returns [RServiceBus2::Saga] saga
|
56
56
|
def load_saga(file_path, saga_name)
|
@@ -97,7 +97,7 @@ module RServiceBus2
|
|
97
97
|
|
98
98
|
saga_name = base_name.sub(ext_name, '')
|
99
99
|
|
100
|
-
"
|
100
|
+
"saga_#{saga_name}".gsub(/(?<=_|^)(\w)/){$1.upcase}.gsub(/(?:_)(\w)/,'\1')
|
101
101
|
end
|
102
102
|
|
103
103
|
# Entry point for loading Sagas
|
@@ -106,7 +106,7 @@ module RServiceBus2
|
|
106
106
|
RServiceBus2.rlog "SagaLoader.loadSagasFromPath. base_dir: #{base_dir}"
|
107
107
|
|
108
108
|
get_list_of_files_for_dir(base_dir).each do |file_path|
|
109
|
-
unless
|
109
|
+
unless file_path.end_with?('.')
|
110
110
|
saga_name = get_saga_name(file_path)
|
111
111
|
load_saga(file_path, saga_name)
|
112
112
|
end
|
metadata
CHANGED
@@ -1,85 +1,85 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rservicebus2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guy Irvine
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uuidtools
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.5.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.5.1
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: beanstalk-client
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.1.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.1.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: fluiddb
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.1.19
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.1.19
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: parse-cron
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.1.4
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.1.4
|
83
83
|
description: A Ruby interpretation of NServiceBus
|
84
84
|
email: guy@guyirvine.com
|
85
85
|
executables:
|
@@ -92,12 +92,23 @@ executables:
|
|
92
92
|
extensions: []
|
93
93
|
extra_rdoc_files: []
|
94
94
|
files:
|
95
|
+
- LICENSE
|
96
|
+
- README.md
|
97
|
+
- bin/return_messages_to_source_queue
|
98
|
+
- bin/rsb_ctl
|
99
|
+
- bin/rservicebus2
|
100
|
+
- bin/rservicebus2-create
|
101
|
+
- bin/rservicebus2-init
|
102
|
+
- bin/rservicebus2-transport
|
103
|
+
- bin/send_empty_message
|
104
|
+
- lib/rservicebus2.rb
|
95
105
|
- lib/rservicebus2/agent.rb
|
106
|
+
- lib/rservicebus2/appresource.rb
|
107
|
+
- lib/rservicebus2/appresource/awsdynamodb.rb
|
96
108
|
- lib/rservicebus2/appresource/dir.rb
|
97
109
|
- lib/rservicebus2/appresource/file.rb
|
98
110
|
- lib/rservicebus2/appresource/fluiddb.rb
|
99
111
|
- lib/rservicebus2/appresource/fluiddb2.rb
|
100
|
-
- lib/rservicebus2/appresource.rb
|
101
112
|
- lib/rservicebus2/appresource_configure.rb
|
102
113
|
- lib/rservicebus2/audit.rb
|
103
114
|
- lib/rservicebus2/circuitbreaker.rb
|
@@ -109,58 +120,52 @@ files:
|
|
109
120
|
- lib/rservicebus2/handler_manager.rb
|
110
121
|
- lib/rservicebus2/helper_functions.rb
|
111
122
|
- lib/rservicebus2/host.rb
|
123
|
+
- lib/rservicebus2/message.rb
|
112
124
|
- lib/rservicebus2/message/statisticoutput.rb
|
113
125
|
- lib/rservicebus2/message/subscription.rb
|
114
126
|
- lib/rservicebus2/message/verboseoutput.rb
|
115
|
-
- lib/rservicebus2/
|
127
|
+
- lib/rservicebus2/monitor.rb
|
116
128
|
- lib/rservicebus2/monitor/dir.rb
|
117
129
|
- lib/rservicebus2/monitor/dirnotifier.rb
|
118
130
|
- lib/rservicebus2/monitor/message.rb
|
119
131
|
- lib/rservicebus2/monitor/xmldir.rb
|
120
|
-
- lib/rservicebus2/monitor.rb
|
121
132
|
- lib/rservicebus2/monitor_configure.rb
|
122
|
-
- lib/rservicebus2/mq/beanstalk.rb
|
123
133
|
- lib/rservicebus2/mq.rb
|
134
|
+
- lib/rservicebus2/mq/aws.rb
|
135
|
+
- lib/rservicebus2/mq/beanstalk.rb
|
136
|
+
- lib/rservicebus2/mq/file.rb
|
137
|
+
- lib/rservicebus2/mq/redis.rb
|
124
138
|
- lib/rservicebus2/resource_manager.rb
|
125
139
|
- lib/rservicebus2/saga/base.rb
|
126
140
|
- lib/rservicebus2/saga/data.rb
|
127
141
|
- lib/rservicebus2/saga/manager.rb
|
128
142
|
- lib/rservicebus2/saga_loader.rb
|
143
|
+
- lib/rservicebus2/saga_storage.rb
|
129
144
|
- lib/rservicebus2/saga_storage/dir.rb
|
130
145
|
- lib/rservicebus2/saga_storage/inmemory.rb
|
131
|
-
- lib/rservicebus2/saga_storage.rb
|
132
146
|
- lib/rservicebus2/sendat_manager.rb
|
147
|
+
- lib/rservicebus2/sendat_storage.rb
|
133
148
|
- lib/rservicebus2/sendat_storage/file.rb
|
134
149
|
- lib/rservicebus2/sendat_storage/inmemory.rb
|
135
|
-
- lib/rservicebus2/sendat_storage.rb
|
136
150
|
- lib/rservicebus2/state_manager.rb
|
151
|
+
- lib/rservicebus2/state_storage.rb
|
137
152
|
- lib/rservicebus2/state_storage/dir.rb
|
138
153
|
- lib/rservicebus2/state_storage/inmemory.rb
|
139
|
-
- lib/rservicebus2/state_storage.rb
|
140
154
|
- lib/rservicebus2/statistic_manager.rb
|
141
155
|
- lib/rservicebus2/stats.rb
|
142
156
|
- lib/rservicebus2/subscription_manager.rb
|
143
|
-
- lib/rservicebus2/subscription_storage/file.rb
|
144
157
|
- lib/rservicebus2/subscription_storage.rb
|
158
|
+
- lib/rservicebus2/subscription_storage/file.rb
|
145
159
|
- lib/rservicebus2/subscription_storage_configure.rb
|
146
|
-
- lib/rservicebus2/test/bus.rb
|
147
160
|
- lib/rservicebus2/test.rb
|
161
|
+
- lib/rservicebus2/test/bus.rb
|
148
162
|
- lib/rservicebus2/transporter.rb
|
149
163
|
- lib/rservicebus2/usermessage/withpayload.rb
|
150
|
-
- lib/rservicebus2.rb
|
151
|
-
- bin/return_messages_to_source_queue
|
152
|
-
- bin/rsb_ctl
|
153
|
-
- bin/rservicebus2
|
154
|
-
- bin/rservicebus2-create
|
155
|
-
- bin/rservicebus2-init
|
156
|
-
- bin/rservicebus2-transport
|
157
|
-
- bin/send_empty_message
|
158
|
-
- LICENSE
|
159
164
|
homepage: http://rubygems.org/gems/rservicebus2
|
160
165
|
licenses:
|
161
166
|
- LGPL-3.0
|
162
167
|
metadata: {}
|
163
|
-
post_install_message:
|
168
|
+
post_install_message:
|
164
169
|
rdoc_options: []
|
165
170
|
require_paths:
|
166
171
|
- lib
|
@@ -175,9 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
180
|
- !ruby/object:Gem::Version
|
176
181
|
version: '0'
|
177
182
|
requirements: []
|
178
|
-
|
179
|
-
|
180
|
-
signing_key:
|
183
|
+
rubygems_version: 3.0.9
|
184
|
+
signing_key:
|
181
185
|
specification_version: 4
|
182
186
|
summary: RServiceBus
|
183
187
|
test_files: []
|