rservicebus 0.0.01 → 0.0.2

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.
Files changed (75) hide show
  1. data/LICENSE +1 -1
  2. data/README.md +48 -0
  3. data/bin/{rservicebus2 → rservicebus} +2 -1
  4. data/lib/rservicebus.rb +15 -54
  5. data/lib/rservicebus/Agent.rb +21 -0
  6. data/lib/rservicebus/Config.rb +125 -0
  7. data/lib/rservicebus/ErrorMessage.rb +14 -0
  8. data/lib/rservicebus/HandlerLoader.rb +100 -0
  9. data/lib/rservicebus/Host.rb +340 -0
  10. data/lib/rservicebus/Message.rb +29 -0
  11. data/lib/rservicebus/Subscription.rb +13 -0
  12. data/lib/rservicebus/helper_functions.rb +8 -81
  13. metadata +23 -150
  14. checksums.yaml +0 -7
  15. data/bin/return_messages_to_source_queue +0 -114
  16. data/bin/rsb_ctl +0 -38
  17. data/bin/rservicebus2-create +0 -107
  18. data/bin/rservicebus2-init +0 -104
  19. data/bin/rservicebus2-transport +0 -16
  20. data/bin/send_empty_message +0 -15
  21. data/lib/rservicebus/agent.rb +0 -54
  22. data/lib/rservicebus/appresource.rb +0 -65
  23. data/lib/rservicebus/appresource/dir.rb +0 -29
  24. data/lib/rservicebus/appresource/file.rb +0 -8
  25. data/lib/rservicebus/appresource/fluiddb.rb +0 -24
  26. data/lib/rservicebus/appresource_configure.rb +0 -33
  27. data/lib/rservicebus/audit.rb +0 -28
  28. data/lib/rservicebus/circuitbreaker.rb +0 -79
  29. data/lib/rservicebus/config.rb +0 -168
  30. data/lib/rservicebus/cron_manager.rb +0 -76
  31. data/lib/rservicebus/endpointmapping.rb +0 -72
  32. data/lib/rservicebus/errormessage.rb +0 -14
  33. data/lib/rservicebus/handler_loader.rb +0 -162
  34. data/lib/rservicebus/handler_manager.rb +0 -131
  35. data/lib/rservicebus/host.rb +0 -487
  36. data/lib/rservicebus/message.rb +0 -78
  37. data/lib/rservicebus/message/statisticoutput.rb +0 -7
  38. data/lib/rservicebus/message/subscription.rb +0 -10
  39. data/lib/rservicebus/message/verboseoutput.rb +0 -7
  40. data/lib/rservicebus/monitor.rb +0 -61
  41. data/lib/rservicebus/monitor/csvdir.rb +0 -52
  42. data/lib/rservicebus/monitor/dir.rb +0 -139
  43. data/lib/rservicebus/monitor/dirnotifier.rb +0 -101
  44. data/lib/rservicebus/monitor/message.rb +0 -11
  45. data/lib/rservicebus/monitor/xmldir.rb +0 -11
  46. data/lib/rservicebus/monitor_configure.rb +0 -71
  47. data/lib/rservicebus/mq.rb +0 -98
  48. data/lib/rservicebus/mq/beanstalk.rb +0 -72
  49. data/lib/rservicebus/resource_manager.rb +0 -69
  50. data/lib/rservicebus/saga/base.rb +0 -17
  51. data/lib/rservicebus/saga/data.rb +0 -20
  52. data/lib/rservicebus/saga/manager.rb +0 -128
  53. data/lib/rservicebus/saga_loader.rb +0 -118
  54. data/lib/rservicebus/saga_storage.rb +0 -18
  55. data/lib/rservicebus/saga_storage/dir.rb +0 -87
  56. data/lib/rservicebus/saga_storage/inmemory.rb +0 -37
  57. data/lib/rservicebus/sendat_manager.rb +0 -33
  58. data/lib/rservicebus/sendat_storage.rb +0 -20
  59. data/lib/rservicebus/sendat_storage/file.rb +0 -37
  60. data/lib/rservicebus/sendat_storage/inmemory.rb +0 -20
  61. data/lib/rservicebus/state_manager.rb +0 -30
  62. data/lib/rservicebus/state_storage.rb +0 -18
  63. data/lib/rservicebus/state_storage/dir.rb +0 -66
  64. data/lib/rservicebus/state_storage/inmemory.rb +0 -25
  65. data/lib/rservicebus/statistic_manager.rb +0 -86
  66. data/lib/rservicebus/stats.rb +0 -68
  67. data/lib/rservicebus/subscription_manager.rb +0 -31
  68. data/lib/rservicebus/subscription_storage.rb +0 -39
  69. data/lib/rservicebus/subscription_storage/file.rb +0 -42
  70. data/lib/rservicebus/subscription_storage/redis.rb +0 -69
  71. data/lib/rservicebus/subscription_storage_configure.rb +0 -19
  72. data/lib/rservicebus/test.rb +0 -2
  73. data/lib/rservicebus/test/bus.rb +0 -32
  74. data/lib/rservicebus/transporter.rb +0 -142
  75. data/lib/rservicebus/usermessage/withpayload.rb +0 -10
@@ -0,0 +1,29 @@
1
+ module RServiceBus
2
+
3
+ class Message
4
+
5
+ attr_reader :returnAddress, :msgId
6
+
7
+ def initialize( msg, returnAddress )
8
+ @_msg=YAML::dump(msg)
9
+ @returnAddress=returnAddress
10
+
11
+ @msgId=UUIDTools::UUID.random_create
12
+ @errorList = Array.new
13
+ end
14
+
15
+ def addErrorMsg( sourceQueue, errorString )
16
+ @errorList << RServiceBus::ErrorMessage.new( sourceQueue, errorString )
17
+ end
18
+
19
+ def getLastErrorMsg
20
+ return @errorList.last
21
+ end
22
+
23
+ def msg
24
+ return YAML::load( @_msg )
25
+ end
26
+
27
+ end
28
+
29
+ end
@@ -0,0 +1,13 @@
1
+ module RServiceBus
2
+
3
+
4
+ class Subscription
5
+ attr_reader :eventName
6
+
7
+ def initialize( eventName )
8
+ @eventName=eventName
9
+ end
10
+
11
+ end
12
+
13
+ end
@@ -1,85 +1,12 @@
1
1
  module RServiceBus
2
- def self.convert_dto_to_hash(obj)
3
- hash = {}
4
- obj.instance_variables.each do |var|
5
- hash[var.to_s.delete('@')] = obj.instance_variable_get(var)
6
- end
7
- hash
8
- end
9
2
 
10
- def self.convert_dto_to_json(obj)
11
- convert_dto_to_hash(obj).to_json
12
- end
3
+ def RServiceBus.convertDTOToJson( obj )
4
+ hash = {};
5
+ obj.instance_variables.each {|var| hash[var.to_s.delete("@")] = obj.instance_variable_get(var) }
6
+
7
+ newOne = hash.to_json
13
8
 
14
- def self.log(string, ver = false)
15
- return if check_environment_variable('TESTING')
9
+ return newOne
10
+ end
16
11
 
17
- type = ver ? 'VERB' : 'INFO'
18
- if check_environment_variable('VERBOSE') || !ver
19
- timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
20
- puts "[#{type}] #{timestamp} :: #{string}"
21
- end
22
- end
23
-
24
- def self.rlog(string)
25
- return unless check_environment_variable('RSBVERBOSE')
26
-
27
- timestamp = Time.new.strftime('%Y-%m-%d %H:%M:%S')
28
- puts "[RSB] #{timestamp} :: #{string}"
29
- end
30
-
31
- def self.create_anonymous_class(name_for_class)
32
- new_anonymous_class = Class.new(Object)
33
- Object.const_set(name_for_class, new_anonymous_class)
34
- Object.const_get(name_for_class).new
35
- end
36
-
37
- def self.get_value(name, default = nil)
38
- value = (ENV[name].nil? || ENV[name] == '') ? default : ENV[name]
39
- log "Env value: #{name}: #{value}"
40
- value
41
- end
42
-
43
- def self.send_msg(msg, response_queue = 'agent')
44
- require 'rservicebus/endpointmapping'
45
- endpoint_mapping = EndpointMapping.new
46
- endpoint_mapping.configure
47
- queue_name = endpoint_mapping.get(msg.class.name)
48
-
49
- ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
50
- agent = RServiceBus::Agent.new
51
- Audit.new(agent).audit_to_queue(msg)
52
- agent.send_msg(msg, queue_name, response_queue)
53
-
54
- rescue QueueNotFoundForMsg => e
55
- msg = "\n"
56
- msg = "#{msg}*** Queue not found for, #{e.message}\n"
57
- msg = "#{msg}*** Ensure you have an environment variable set for this
58
- Message Type, eg, \n"
59
- msg = "#{msg}*** MESSAGE_ENDPOINT_MAPPINGS=#{e.message}:<QueueName>\n"
60
- raise StandardError, msg
61
- end
62
-
63
- def self.check_for_reply(queue_name)
64
- ENV['RSBMQ'] = 'beanstalk://localhost' if ENV['RSBMQ'].nil?
65
- agent = RServiceBus::Agent.new
66
- msg = agent.check_for_reply(queue_name)
67
- Audit.new(agent).audit_incoming(msg)
68
-
69
- msg
70
- end
71
-
72
- def self.tick(string)
73
- puts "[TICK] #{Time.new.strftime('%Y-%m-%d %H:%M:%S.%6N')} ::
74
- #{caller[0]}. #{string}"
75
- end
76
-
77
- def self.check_environment_variable(string)
78
- return false if ENV[string].nil?
79
- return true if ENV[string] == true || ENV[string] =~ (/(true|t|yes|y|1)$/i)
80
- return false if ENV[string] == false ||
81
- ENV[string].nil? ||
82
- ENV[string] =~ (/(false|f|no|n|0)$/i)
83
- fail ArgumentError, "invalid value for Environment Variable: \"#{string}\""
84
- end
85
- end
12
+ end
metadata CHANGED
@@ -1,184 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rservicebus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.01
4
+ version: 0.0.2
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Guy Irvine
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-07-12 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: uuidtools
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: json
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: beanstalk-client
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'
55
- - !ruby/object:Gem::Dependency
56
- name: fluiddb
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: parse-cron
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- description: A Ruby interpretation of NServiceBus
12
+ date: 2012-06-08 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: A ruby implementation of NServiceBus
84
15
  email: guy@guyirvine.com
85
16
  executables:
86
- - rservicebus2
87
- - rservicebus2-init
88
- - return_messages_to_source_queue
89
- - send_empty_message
90
- - rservicebus2-transport
91
- - rservicebus2-create
17
+ - rservicebus
92
18
  extensions: []
93
19
  extra_rdoc_files: []
94
20
  files:
95
- - lib/rservicebus/agent.rb
96
- - lib/rservicebus/appresource/dir.rb
97
- - lib/rservicebus/appresource/file.rb
98
- - lib/rservicebus/appresource/fluiddb.rb
99
- - lib/rservicebus/appresource.rb
100
- - lib/rservicebus/appresource_configure.rb
101
- - lib/rservicebus/audit.rb
102
- - lib/rservicebus/circuitbreaker.rb
103
- - lib/rservicebus/config.rb
104
- - lib/rservicebus/cron_manager.rb
105
- - lib/rservicebus/endpointmapping.rb
106
- - lib/rservicebus/errormessage.rb
107
- - lib/rservicebus/handler_loader.rb
108
- - lib/rservicebus/handler_manager.rb
21
+ - lib/rservicebus/Agent.rb
22
+ - lib/rservicebus/Config.rb
23
+ - lib/rservicebus/ErrorMessage.rb
24
+ - lib/rservicebus/HandlerLoader.rb
109
25
  - lib/rservicebus/helper_functions.rb
110
- - lib/rservicebus/host.rb
111
- - lib/rservicebus/message/statisticoutput.rb
112
- - lib/rservicebus/message/subscription.rb
113
- - lib/rservicebus/message/verboseoutput.rb
114
- - lib/rservicebus/message.rb
115
- - lib/rservicebus/monitor/csvdir.rb
116
- - lib/rservicebus/monitor/dir.rb
117
- - lib/rservicebus/monitor/dirnotifier.rb
118
- - lib/rservicebus/monitor/message.rb
119
- - lib/rservicebus/monitor/xmldir.rb
120
- - lib/rservicebus/monitor.rb
121
- - lib/rservicebus/monitor_configure.rb
122
- - lib/rservicebus/mq/beanstalk.rb
123
- - lib/rservicebus/mq.rb
124
- - lib/rservicebus/resource_manager.rb
125
- - lib/rservicebus/saga/base.rb
126
- - lib/rservicebus/saga/data.rb
127
- - lib/rservicebus/saga/manager.rb
128
- - lib/rservicebus/saga_loader.rb
129
- - lib/rservicebus/saga_storage/dir.rb
130
- - lib/rservicebus/saga_storage/inmemory.rb
131
- - lib/rservicebus/saga_storage.rb
132
- - lib/rservicebus/sendat_manager.rb
133
- - lib/rservicebus/sendat_storage/file.rb
134
- - lib/rservicebus/sendat_storage/inmemory.rb
135
- - lib/rservicebus/sendat_storage.rb
136
- - lib/rservicebus/state_manager.rb
137
- - lib/rservicebus/state_storage/dir.rb
138
- - lib/rservicebus/state_storage/inmemory.rb
139
- - lib/rservicebus/state_storage.rb
140
- - lib/rservicebus/statistic_manager.rb
141
- - lib/rservicebus/stats.rb
142
- - lib/rservicebus/subscription_manager.rb
143
- - lib/rservicebus/subscription_storage/file.rb
144
- - lib/rservicebus/subscription_storage/redis.rb
145
- - lib/rservicebus/subscription_storage.rb
146
- - lib/rservicebus/subscription_storage_configure.rb
147
- - lib/rservicebus/test/bus.rb
148
- - lib/rservicebus/test.rb
149
- - lib/rservicebus/transporter.rb
150
- - lib/rservicebus/usermessage/withpayload.rb
26
+ - lib/rservicebus/Host.rb
27
+ - lib/rservicebus/Message.rb
28
+ - lib/rservicebus/Subscription.rb
151
29
  - lib/rservicebus.rb
152
- - bin/return_messages_to_source_queue
153
- - bin/rsb_ctl
154
- - bin/rservicebus2
155
- - bin/rservicebus2-create
156
- - bin/rservicebus2-init
157
- - bin/rservicebus2-transport
158
- - bin/send_empty_message
30
+ - bin/rservicebus
159
31
  - LICENSE
160
- homepage: http://rubygems.org/gems/rservicebus2
161
- licenses:
162
- - LGPL-3.0
163
- metadata: {}
32
+ - README.md
33
+ homepage: http://rubygems.org/gems/rservicebus
34
+ licenses: []
164
35
  post_install_message:
165
36
  rdoc_options: []
166
37
  require_paths:
167
38
  - lib
168
39
  required_ruby_version: !ruby/object:Gem::Requirement
40
+ none: false
169
41
  requirements:
170
- - - '>='
42
+ - - ! '>='
171
43
  - !ruby/object:Gem::Version
172
44
  version: '0'
173
45
  required_rubygems_version: !ruby/object:Gem::Requirement
46
+ none: false
174
47
  requirements:
175
- - - '>='
48
+ - - ! '>='
176
49
  - !ruby/object:Gem::Version
177
50
  version: '0'
178
51
  requirements: []
179
52
  rubyforge_project:
180
- rubygems_version: 2.0.14.1
53
+ rubygems_version: 1.8.11
181
54
  signing_key:
182
- specification_version: 4
55
+ specification_version: 3
183
56
  summary: RServiceBus
184
57
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 0c210488f5742bbdd7e68c7cd5562a8ac12145a1
4
- data.tar.gz: 85465c96ba453c1cca9e9d9763d99189b635cc4c
5
- SHA512:
6
- metadata.gz: a4b8b205a755636d9fe101d67bf2bc676b186f47d256d07784774966c7666e0ea9c9853d06396e93f350c85296f23e9651c6809d88cc77fe97d20e72c4848594
7
- data.tar.gz: e5eb45cad62fb91eca1be57b27fbf161d23c23d57973456ce949166dd271cc21fddeefee1eb7ea63c24cc572fce940b5e2bf8a9d0b4fcbaa8f4a7613edda13c4
@@ -1,114 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'yaml'
4
- require 'beanstalk-client'
5
- require 'rservicebus'
6
-
7
- def returnMsg( beanstalk, job, request_nbr )
8
- firstMatch = 'ruby/object:'
9
-
10
- payload = job.body
11
-
12
- firstIndex = payload.index( firstMatch )
13
- startIndex = payload.index( firstMatch, firstIndex + 1 ) + firstMatch.length
14
-
15
- msgName = payload.match( '(\w*)', startIndex )[1]
16
-
17
- msg = YAML::load(payload)
18
- if msg.lastErrorString.nil? then
19
- puts "*** Requested msg, #{request_nbr}, does not have a sourceQueue to which it can be returned"
20
- puts '*** Only errored msgs can be Returned'
21
- puts '*** Generally, msgs would not be manually moved between queues'
22
- puts '*** If you do need to, try'
23
- puts '*** beanstalk-admin-dump <source queue name> | beanstalk-admin-load <destination queue name>'
24
-
25
- job.release
26
- return
27
- end
28
- queueName = msg.lastErrorSourceQueue
29
- puts '#' + "#{request_nbr.to_s}: #{msgName} to #{queueName}"
30
-
31
- beanstalk.use( queueName )
32
- beanstalk.put( payload )
33
-
34
- job.delete
35
- end
36
-
37
-
38
- index=nil
39
- if ARGV.length == 0 then
40
- queueName = 'error'
41
- elsif ARGV.length == 1 then
42
- queueName = ARGV[0]
43
- elsif ARGV.length == 2 then
44
- queueName = ARGV[0]
45
- index = ARGV[1].to_i
46
- else
47
- abort('Usage: ReturnMessagesToSourceQueue [queue name] [index]')
48
- end
49
-
50
- begin
51
- host = 'localhost:11300'
52
- beanstalk = Beanstalk::Pool.new([host])
53
-
54
- tubes = beanstalk.list_tubes[host]
55
- unless tubes.include?(queueName) then
56
- abort("Nothing waiting on the Beanstalk queue, #{queueName}")
57
- end
58
-
59
- tubeStats = beanstalk.stats_tube(queueName)
60
- number_of_messages = tubeStats['current-jobs-ready']
61
- if index.nil? then
62
- puts
63
- puts "Attempting to return #{number_of_messages} to their source queue"
64
- puts
65
-
66
- begin
67
- beanstalk.watch(queueName)
68
- 1.upto(number_of_messages) do |request_nbr|
69
- job = beanstalk.reserve 1
70
-
71
- returnMsg( beanstalk, job, request_nbr )
72
- end
73
- rescue Exception => e
74
- if e.message == 'TIMED_OUT' then
75
- else
76
- raise
77
- end
78
- end
79
- else
80
- if index > number_of_messages then
81
- puts "*** Requested msg, #{index}, is greater than the number of msgs in the queue, #{number_of_messages}"
82
- puts '*** Try a smaller index, or remove the index number to return all msgs'
83
- abort();
84
- end
85
-
86
- puts
87
- puts "Attempting to msg number, #{index} to it's source queue"
88
- puts
89
-
90
- begin
91
- beanstalk.watch(queueName)
92
- jobList = Array.new
93
- 1.upto(index-1) do |request_nbr|
94
- job = beanstalk.reserve 1
95
- jobList << job
96
- end
97
- job = beanstalk.reserve 1
98
- returnMsg( beanstalk, job, index )
99
-
100
- jobList.each do |job|
101
- job.release
102
- end
103
-
104
- rescue Exception => e
105
- if e.message == 'TIMED_OUT' then
106
- else
107
- raise
108
- end
109
- end
110
- end
111
-
112
- rescue Beanstalk::NotConnected=>e
113
- puts 'Beanstalk not running'
114
- end