tengine_core 0.5.33 → 0.5.34

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.
data/Gemfile.lock CHANGED
@@ -31,7 +31,7 @@ GEM
31
31
  bundler (~> 1.0)
32
32
  git (>= 1.2.5)
33
33
  rake
34
- kramdown (0.13.4)
34
+ kramdown (0.13.5)
35
35
  macaddr (1.5.0)
36
36
  systemu (>= 2.4.0)
37
37
  mongo (1.5.2)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.33
1
+ 0.5.34
@@ -181,8 +181,13 @@ class Tengine::Core::Kernel
181
181
  unless event
182
182
  # Model.exists?だと上手くいかない時があるのでModel.whereを使っています
183
183
  # fire_failed_event(raw_event) if Tengine::Core::Event.exists?(confitions: { key: raw_event.key, sender_name: raw_event.sender_name })
184
- fire_failed_event(raw_event) if Tengine::Core::Event.where(:key => raw_event.key, :sender_name => raw_event.sender_name).count > 0
185
- headers.ack
184
+ if Tengine::Core::Event.where(:key => raw_event.key, :sender_name => raw_event.sender_name).count > 0
185
+ fire_failed_event(raw_event)
186
+ headers.ack
187
+ else
188
+ Tengine.logger.info("requeue an event #{raw_event.inspect}")
189
+ headers.reject(:requeue => true)
190
+ end
186
191
  return false
187
192
  end
188
193
  event.kernel = self
@@ -248,7 +253,7 @@ class Tengine::Core::Kernel
248
253
  raise "Could not properly shut down; MQ broker is missing."
249
254
  end
250
255
  end
251
-
256
+
252
257
  # see http://rdoc.info/github/ruby-amqp/amqp/master/file/docs/ErrorHandling.textile#Recovering_from_network_connection_failures
253
258
  # mq.connection raiases AMQP::TCPConnectionFailed unless connects to MQ.
254
259
  mq.add_hook :'connection.on_error' do |conn, connection_close|
@@ -242,7 +242,7 @@ describe Tengine::Core::Kernel do
242
242
 
243
243
  it "https://www.pivotaltracker.com/story/show/22698533" do
244
244
  ev = Tengine::Event.new :key => "2498e870-11cd-012f-f8c0-48bcc89f84e1", :source_name => "localhost/8110", :sender_name => "localhost/8110", :level => 2, :occurred_at => Time.now, :properties => {}, :event_type_name => ""
245
- @header.should_receive(:ack)
245
+ @header.should_receive(:reject)
246
246
  @kernel.process_message(@header, ev.to_json).should_not be_true
247
247
  end
248
248
 
@@ -252,8 +252,8 @@ describe Tengine::Core::Kernel do
252
252
  @kernel.process_message(@header, raw_event.to_json).should_not be_true
253
253
  end
254
254
 
255
- it "keyが同じ、sender_nameが異なる場合は、イベントストアへ登録を行わずACKを返却" do
256
- @header.should_receive(:ack)
255
+ it "keyが同じ、sender_nameが異なる場合は、イベントストアへ登録を行わずREJECTを返却" do
256
+ @header.should_receive(:reject)
257
257
  raw_event = Tengine::Event.new(:key => "uuid1", :sender_name => "another_host", :event_type_name => "event1")
258
258
  lambda {
259
259
  Tengine::Core::Event.create!(raw_event.attributes.update(:confirmed => (raw_event.level <= @kernel.config.confirmation_threshold)))
@@ -367,6 +367,7 @@ describe Tengine::Core::Kernel do
367
367
 
368
368
  context "異常系" do
369
369
  it "無限地獄の回避" do
370
+ @header.stub(:reject)
370
371
  Tengine::Core::Event.stub(:create!).and_raise(Mongo::OperationFailure.new)
371
372
  e = Tengine::Event.new key: @uuid.generate, event_type_name: "something.failed.tengine"
372
373
 
@@ -589,16 +590,21 @@ describe Tengine::Core::Kernel do
589
590
  end
590
591
 
591
592
  it "tenginedが調停する #2" do
592
- @header.stub(:ack)
593
+ mock_header1 = mock("header1")
594
+ mock_header2 = mock("header2")
595
+ mock_header3 = mock("header3")
596
+ mock_header1.stub(:ack)
597
+ mock_header2.stub(:reject)
598
+ mock_header3.stub(:reject)
593
599
  n = "alert.execution.job.tengine"
594
600
  s = "test test"
595
601
  e = Tengine::Event.new event_type_name: n, source_name: s, key: "k1"
596
602
  f = Tengine::Event.new event_type_name: n, source_name: s, key: "k2"
597
603
  g = Tengine::Event.new event_type_name: n, source_name: s, key: "k3"
598
604
 
599
- @kernel.process_message @header, e.to_json
600
- @kernel.process_message @header, f.to_json
601
- @kernel.process_message @header, g.to_json
605
+ @kernel.process_message mock_header1, e.to_json
606
+ @kernel.process_message mock_header2, f.to_json
607
+ @kernel.process_message mock_header3, g.to_json
602
608
 
603
609
  Tengine::Core::Event.where(event_type_name: n, source_name: s).count.should == 1
604
610
  end
@@ -618,7 +624,7 @@ describe Tengine::Core::Kernel do
618
624
  :tengined => {
619
625
  :load_path => File.expand_path('../../../examples/uc01_execute_processing_for_event.rb', File.dirname(__FILE__)),
620
626
  },
621
- :event_queue => { :connection => { :port => @port } }
627
+ :event_queue => { :connection => { :port => @port } }
622
628
  })
623
629
  @kernel = Tengine::Core::Kernel.new(config)
624
630
  end
@@ -884,7 +890,7 @@ describe Tengine::Core::Kernel do
884
890
  end
885
891
  sender = mock(:sender)
886
892
  kernel.stub(:sender).and_return(sender)
887
-
893
+
888
894
  EM.should_receive(:cancel_timer)
889
895
  sender.should_receive(:fire).with("finished.process.core.tengine", an_instance_of(Hash))
890
896
 
data/tengine_core.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "tengine_core"
8
- s.version = "0.5.33"
8
+ s.version = "0.5.34"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["taigou", "totty", "g-morita", "shyouhei", "akm", "hiroshinakao"]
12
- s.date = "2012-02-20"
12
+ s.date = "2012-02-21"
13
13
  s.description = "tengine_core is a framework/engine to support distributed processing"
14
14
  s.email = "tengine@nautilus-technologies.com"
15
15
  s.executables = ["tengined", "tengine_heartbeat_watchd", "tengine_atd"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tengine_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.33
4
+ version: 0.5.34
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,11 +14,11 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2012-02-20 00:00:00.000000000Z
17
+ date: 2012-02-21 00:00:00.000000000Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activesupport
21
- requirement: &70326622039380 !ruby/object:Gem::Requirement
21
+ requirement: &70354082424400 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ~>
@@ -26,10 +26,10 @@ dependencies:
26
26
  version: 3.1.0
27
27
  type: :runtime
28
28
  prerelease: false
29
- version_requirements: *70326622039380
29
+ version_requirements: *70354082424400
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: activemodel
32
- requirement: &70326622038860 !ruby/object:Gem::Requirement
32
+ requirement: &70354082423860 !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ~>
@@ -37,10 +37,10 @@ dependencies:
37
37
  version: 3.1.0
38
38
  type: :runtime
39
39
  prerelease: false
40
- version_requirements: *70326622038860
40
+ version_requirements: *70354082423860
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: selectable_attr
43
- requirement: &70326622038320 !ruby/object:Gem::Requirement
43
+ requirement: &70354082423340 !ruby/object:Gem::Requirement
44
44
  none: false
45
45
  requirements:
46
46
  - - ~>
@@ -48,10 +48,10 @@ dependencies:
48
48
  version: 0.3.15
49
49
  type: :runtime
50
50
  prerelease: false
51
- version_requirements: *70326622038320
51
+ version_requirements: *70354082423340
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: bson
54
- requirement: &70326622037260 !ruby/object:Gem::Requirement
54
+ requirement: &70354082422760 !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
57
  - - ~>
@@ -59,10 +59,10 @@ dependencies:
59
59
  version: 1.5.2
60
60
  type: :runtime
61
61
  prerelease: false
62
- version_requirements: *70326622037260
62
+ version_requirements: *70354082422760
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: bson_ext
65
- requirement: &70326622008260 !ruby/object:Gem::Requirement
65
+ requirement: &70354082422220 !ruby/object:Gem::Requirement
66
66
  none: false
67
67
  requirements:
68
68
  - - ~>
@@ -70,10 +70,10 @@ dependencies:
70
70
  version: 1.5.2
71
71
  type: :runtime
72
72
  prerelease: false
73
- version_requirements: *70326622008260
73
+ version_requirements: *70354082422220
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: mongo
76
- requirement: &70326622007780 !ruby/object:Gem::Requirement
76
+ requirement: &70354082421720 !ruby/object:Gem::Requirement
77
77
  none: false
78
78
  requirements:
79
79
  - - ~>
@@ -81,10 +81,10 @@ dependencies:
81
81
  version: 1.5.2
82
82
  type: :runtime
83
83
  prerelease: false
84
- version_requirements: *70326622007780
84
+ version_requirements: *70354082421720
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: mongoid
87
- requirement: &70326622007280 !ruby/object:Gem::Requirement
87
+ requirement: &70354082421220 !ruby/object:Gem::Requirement
88
88
  none: false
89
89
  requirements:
90
90
  - - ~>
@@ -92,10 +92,10 @@ dependencies:
92
92
  version: 2.3.3
93
93
  type: :runtime
94
94
  prerelease: false
95
- version_requirements: *70326622007280
95
+ version_requirements: *70354082421220
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: tengine_support
98
- requirement: &70326622006760 !ruby/object:Gem::Requirement
98
+ requirement: &70354082420740 !ruby/object:Gem::Requirement
99
99
  none: false
100
100
  requirements:
101
101
  - - ~>
@@ -103,10 +103,10 @@ dependencies:
103
103
  version: 0.3.12
104
104
  type: :runtime
105
105
  prerelease: false
106
- version_requirements: *70326622006760
106
+ version_requirements: *70354082420740
107
107
  - !ruby/object:Gem::Dependency
108
108
  name: tengine_event
109
- requirement: &70326622006240 !ruby/object:Gem::Requirement
109
+ requirement: &70354082420240 !ruby/object:Gem::Requirement
110
110
  none: false
111
111
  requirements:
112
112
  - - ~>
@@ -114,10 +114,10 @@ dependencies:
114
114
  version: 0.4.0
115
115
  type: :runtime
116
116
  prerelease: false
117
- version_requirements: *70326622006240
117
+ version_requirements: *70354082420240
118
118
  - !ruby/object:Gem::Dependency
119
119
  name: daemons
120
- requirement: &70326622005720 !ruby/object:Gem::Requirement
120
+ requirement: &70354082419720 !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
123
  - - ~>
@@ -125,10 +125,10 @@ dependencies:
125
125
  version: 1.1.4
126
126
  type: :runtime
127
127
  prerelease: false
128
- version_requirements: *70326622005720
128
+ version_requirements: *70354082419720
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: rspec
131
- requirement: &70326622005240 !ruby/object:Gem::Requirement
131
+ requirement: &70354082419200 !ruby/object:Gem::Requirement
132
132
  none: false
133
133
  requirements:
134
134
  - - ~>
@@ -136,10 +136,10 @@ dependencies:
136
136
  version: 2.6.0
137
137
  type: :development
138
138
  prerelease: false
139
- version_requirements: *70326622005240
139
+ version_requirements: *70354082419200
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: factory_girl
142
- requirement: &70326622004720 !ruby/object:Gem::Requirement
142
+ requirement: &70354082418680 !ruby/object:Gem::Requirement
143
143
  none: false
144
144
  requirements:
145
145
  - - ~>
@@ -147,10 +147,10 @@ dependencies:
147
147
  version: 2.1.2
148
148
  type: :development
149
149
  prerelease: false
150
- version_requirements: *70326622004720
150
+ version_requirements: *70354082418680
151
151
  - !ruby/object:Gem::Dependency
152
152
  name: yard
153
- requirement: &70326622004120 !ruby/object:Gem::Requirement
153
+ requirement: &70354082418080 !ruby/object:Gem::Requirement
154
154
  none: false
155
155
  requirements:
156
156
  - - ~>
@@ -158,10 +158,10 @@ dependencies:
158
158
  version: 0.7.2
159
159
  type: :development
160
160
  prerelease: false
161
- version_requirements: *70326622004120
161
+ version_requirements: *70354082418080
162
162
  - !ruby/object:Gem::Dependency
163
163
  name: bundler
164
- requirement: &70326622003520 !ruby/object:Gem::Requirement
164
+ requirement: &70354082417480 !ruby/object:Gem::Requirement
165
165
  none: false
166
166
  requirements:
167
167
  - - ~>
@@ -169,10 +169,10 @@ dependencies:
169
169
  version: 1.0.18
170
170
  type: :development
171
171
  prerelease: false
172
- version_requirements: *70326622003520
172
+ version_requirements: *70354082417480
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: jeweler
175
- requirement: &70326622002940 !ruby/object:Gem::Requirement
175
+ requirement: &70354082416900 !ruby/object:Gem::Requirement
176
176
  none: false
177
177
  requirements:
178
178
  - - ~>
@@ -180,10 +180,10 @@ dependencies:
180
180
  version: 1.6.4
181
181
  type: :development
182
182
  prerelease: false
183
- version_requirements: *70326622002940
183
+ version_requirements: *70354082416900
184
184
  - !ruby/object:Gem::Dependency
185
185
  name: simplecov
186
- requirement: &70326622002340 !ruby/object:Gem::Requirement
186
+ requirement: &70354082416400 !ruby/object:Gem::Requirement
187
187
  none: false
188
188
  requirements:
189
189
  - - ~>
@@ -191,10 +191,10 @@ dependencies:
191
191
  version: 0.5.3
192
192
  type: :development
193
193
  prerelease: false
194
- version_requirements: *70326622002340
194
+ version_requirements: *70354082416400
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: ZenTest
197
- requirement: &70326622001800 !ruby/object:Gem::Requirement
197
+ requirement: &70354082415720 !ruby/object:Gem::Requirement
198
198
  none: false
199
199
  requirements:
200
200
  - - ~>
@@ -202,10 +202,10 @@ dependencies:
202
202
  version: 4.6.2
203
203
  type: :development
204
204
  prerelease: false
205
- version_requirements: *70326622001800
205
+ version_requirements: *70354082415720
206
206
  - !ruby/object:Gem::Dependency
207
207
  name: rdiscount
208
- requirement: &70326622001260 !ruby/object:Gem::Requirement
208
+ requirement: &70354082415240 !ruby/object:Gem::Requirement
209
209
  none: false
210
210
  requirements:
211
211
  - - ! '>='
@@ -213,10 +213,10 @@ dependencies:
213
213
  version: '0'
214
214
  type: :development
215
215
  prerelease: false
216
- version_requirements: *70326622001260
216
+ version_requirements: *70354082415240
217
217
  - !ruby/object:Gem::Dependency
218
218
  name: kramdown
219
- requirement: &70326622000660 !ruby/object:Gem::Requirement
219
+ requirement: &70354082414600 !ruby/object:Gem::Requirement
220
220
  none: false
221
221
  requirements:
222
222
  - - ! '>='
@@ -224,7 +224,7 @@ dependencies:
224
224
  version: '0'
225
225
  type: :development
226
226
  prerelease: false
227
- version_requirements: *70326622000660
227
+ version_requirements: *70354082414600
228
228
  description: tengine_core is a framework/engine to support distributed processing
229
229
  email: tengine@nautilus-technologies.com
230
230
  executables: