ntswf 1.0.4 → 1.0.5
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/lib/ntswf/activity_worker.rb +1 -5
- data/lib/ntswf/base.rb +13 -0
- data/lib/ntswf/client.rb +0 -5
- data/lib/ntswf/utils.rb +0 -8
- data/spec/activity_worker_spec.rb +26 -0
- metadata +21 -3
@@ -10,11 +10,7 @@ module Ntswf
|
|
10
10
|
domain.activity_tasks.poll_for_single_task(activity_task_list) do |task|
|
11
11
|
announce("got activity task #{task.activity_type.inspect} #{task.input}")
|
12
12
|
begin
|
13
|
-
|
14
|
-
yield task
|
15
|
-
else
|
16
|
-
raise "unknown activity type: #{task.activity_type.inspect}"
|
17
|
-
end
|
13
|
+
yield task
|
18
14
|
rescue => e
|
19
15
|
notify(e, activity_type: task.activity_type.inspect, input: task.input)
|
20
16
|
details = {
|
data/lib/ntswf/base.rb
CHANGED
@@ -69,8 +69,21 @@ module Ntswf
|
|
69
69
|
log("#{message.message}\n #{message.backtrace.join("\n ")}") if message.kind_of? Exception
|
70
70
|
end
|
71
71
|
|
72
|
+
# @return [String] separator for composite *workflow_id*
|
73
|
+
def separator
|
74
|
+
";"
|
75
|
+
end
|
76
|
+
|
72
77
|
protected
|
73
78
|
|
79
|
+
def activity_name
|
80
|
+
"#{default_unit}-activity"
|
81
|
+
end
|
82
|
+
|
83
|
+
def activity_type
|
84
|
+
@activity_type ||= domain.activity_types[activity_name, workflow_version]
|
85
|
+
end
|
86
|
+
|
74
87
|
def announce(s)
|
75
88
|
$0 = s
|
76
89
|
log(s)
|
data/lib/ntswf/client.rb
CHANGED
data/lib/ntswf/utils.rb
CHANGED
@@ -8,10 +8,6 @@ module Ntswf
|
|
8
8
|
swf.domains.create(@config.domain, 3, description: description)
|
9
9
|
end
|
10
10
|
|
11
|
-
def activity_name
|
12
|
-
"#{default_unit}-activity"
|
13
|
-
end
|
14
|
-
|
15
11
|
def register_workflow_type
|
16
12
|
domain.workflow_types.register(workflow_name, workflow_version)
|
17
13
|
end
|
@@ -19,9 +15,5 @@ module Ntswf
|
|
19
15
|
def register_activity_type
|
20
16
|
domain.activity_types.register(activity_name, workflow_version)
|
21
17
|
end
|
22
|
-
|
23
|
-
def activity_type
|
24
|
-
@activity_type ||= domain.activity_types[activity_name, workflow_version]
|
25
|
-
end
|
26
18
|
end
|
27
19
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "ntswf"
|
2
|
+
|
3
|
+
describe Ntswf::ActivityWorker do
|
4
|
+
class Worker
|
5
|
+
include Ntswf::ActivityWorker
|
6
|
+
end
|
7
|
+
|
8
|
+
before { Worker.any_instance.stub(announce: nil, log: nil) }
|
9
|
+
|
10
|
+
let(:config) { { unit: "test", activity_task_lists: { "test" => "task_list" } } }
|
11
|
+
let(:worker) { Worker.new config }
|
12
|
+
let(:activity_task) { mock input: "{}" }
|
13
|
+
|
14
|
+
describe "processing an activity task" do
|
15
|
+
before do
|
16
|
+
AWS::SimpleWorkflow::ActivityTaskCollection.any_instance.stub(:poll_for_single_task).
|
17
|
+
and_yield activity_task
|
18
|
+
end
|
19
|
+
|
20
|
+
context "given foreign activity type" do
|
21
|
+
before { activity_task.stub activity_type: :some_random_thing }
|
22
|
+
subject { worker.process_activity_task { :accepted } }
|
23
|
+
it { should eq :accepted }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ntswf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: aws-sdk
|
@@ -27,6 +27,22 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '1.8'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
30
46
|
description: A layer around AWS SWF
|
31
47
|
email: info@infopark.de
|
32
48
|
executables: []
|
@@ -42,6 +58,7 @@ files:
|
|
42
58
|
- lib/ntswf/client.rb
|
43
59
|
- lib/ntswf/base.rb
|
44
60
|
- lib/ntswf.rb
|
61
|
+
- spec/activity_worker_spec.rb
|
45
62
|
homepage: https://github.com/infopark/ntswf
|
46
63
|
licenses:
|
47
64
|
- LGPLv3
|
@@ -67,5 +84,6 @@ rubygems_version: 1.8.23
|
|
67
84
|
signing_key:
|
68
85
|
specification_version: 3
|
69
86
|
summary: Not That Simple Workflow
|
70
|
-
test_files:
|
87
|
+
test_files:
|
88
|
+
- spec/activity_worker_spec.rb
|
71
89
|
has_rdoc:
|