lex-tasker 0.1.0 → 0.2.1
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/.circleci/config.yml +39 -0
- data/.rubocop.yml +34 -0
- data/Dockerfile +9 -0
- data/Gemfile +0 -3
- data/Gemfile.lock +69 -0
- data/README.md +1 -37
- data/bitbucket-pipelines.yml +19 -0
- data/docker_deploy.rb +13 -0
- data/lex-tasker.gemspec +33 -0
- data/lib/legion/extensions/tasker.rb +5 -70
- data/lib/legion/extensions/tasker/actors/check_subtask.rb +21 -0
- data/lib/legion/extensions/tasker/actors/fetch_delayed.rb +25 -0
- data/lib/legion/extensions/tasker/actors/fetch_delayed_push.rb +29 -0
- data/lib/legion/extensions/tasker/actors/log.rb +13 -0
- data/lib/legion/extensions/tasker/actors/task_manager.rb +21 -0
- data/lib/legion/extensions/tasker/actors/updater.rb +21 -0
- data/lib/legion/extensions/tasker/helpers/base.rb +11 -0
- data/lib/legion/extensions/tasker/helpers/fetch_delayed.rb +66 -0
- data/lib/legion/extensions/tasker/helpers/find_subtask.rb +49 -0
- data/lib/legion/extensions/tasker/runners/check_subtask.rb +97 -0
- data/lib/legion/extensions/tasker/runners/fetch_delayed.rb +71 -0
- data/lib/legion/extensions/tasker/runners/log.rb +50 -0
- data/lib/legion/extensions/tasker/runners/task_manager.rb +28 -0
- data/lib/legion/extensions/tasker/runners/updater.rb +31 -0
- data/lib/legion/extensions/tasker/transport.rb +30 -0
- data/lib/legion/extensions/tasker/transport/exchanges/task.rb +8 -0
- data/lib/legion/extensions/tasker/transport/messages/fetch_delayed.rb +11 -0
- data/lib/legion/extensions/tasker/transport/queues/check_subtask.rb +18 -0
- data/lib/legion/extensions/tasker/transport/queues/fetch_delayed.rb +21 -0
- data/lib/legion/extensions/tasker/transport/queues/lex_register.rb +15 -0
- data/lib/legion/extensions/tasker/transport/queues/subtask.rb +11 -0
- data/lib/legion/extensions/tasker/transport/queues/task_log.rb +11 -0
- data/lib/legion/extensions/tasker/transport/queues/task_mananger.rb +15 -0
- data/lib/legion/extensions/tasker/transport/queues/updater.rb +11 -0
- data/lib/legion/extensions/tasker/version.rb +1 -1
- metadata +77 -23
- data/.idea/encodings.xml +0 -4
- data/.idea/legion-extensions-tasker.iml +0 -8
- data/.idea/misc.xml +0 -7
- data/.idea/modules.xml +0 -8
- data/.idea/workspace.xml +0 -7
- data/.travis.yml +0 -7
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/legion-extensions-tasker.gemspec +0 -30
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'legion/transport/exchanges/task'
|
2
|
+
require 'legion/extensions/transport'
|
3
|
+
|
4
|
+
module Legion::Extensions::Tasker
|
5
|
+
module Transport
|
6
|
+
extend Legion::Extensions::Transport
|
7
|
+
def self.e_to_q
|
8
|
+
[
|
9
|
+
{
|
10
|
+
to: 'updater',
|
11
|
+
routing_key: 'task.update'
|
12
|
+
},
|
13
|
+
{
|
14
|
+
to: 'log',
|
15
|
+
routing_key: 'task.logs.#'
|
16
|
+
}, {
|
17
|
+
to: 'check_subtask',
|
18
|
+
routing_key: 'task.subtask.check'
|
19
|
+
}, {
|
20
|
+
to: 'fetch_delayed',
|
21
|
+
routing_key: 'fetch.delayed'
|
22
|
+
}, {
|
23
|
+
from: 'tasker',
|
24
|
+
to: 'task_manager',
|
25
|
+
routing_key: 'task.task_manager.#'
|
26
|
+
}
|
27
|
+
]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Legion::Extensions::Tasker
|
2
|
+
module Transport
|
3
|
+
module Queues
|
4
|
+
class CheckSubtask < Legion::Transport::Queue
|
5
|
+
def queue_name
|
6
|
+
'task.subtask.check'
|
7
|
+
end
|
8
|
+
|
9
|
+
def queue_options
|
10
|
+
{
|
11
|
+
auto_delete: false,
|
12
|
+
arguments: { 'x-max-priority': 255 }
|
13
|
+
}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Legion::Extensions::Tasker
|
2
|
+
module Transport
|
3
|
+
module Queues
|
4
|
+
class FetchDelayed < Legion::Transport::Queue
|
5
|
+
def queue_name
|
6
|
+
'task.fetch_delayed'
|
7
|
+
end
|
8
|
+
|
9
|
+
def queue_options
|
10
|
+
{
|
11
|
+
arguments: {
|
12
|
+
'x-single-active-consumer': true,
|
13
|
+
'x-max-priority': 255,
|
14
|
+
'x-message-ttl': 1
|
15
|
+
}
|
16
|
+
}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Legion::Extensions::Tasker
|
2
|
+
module Transport
|
3
|
+
module Queues
|
4
|
+
class TaskManager < Legion::Transport::Queue
|
5
|
+
def queue_name
|
6
|
+
'tasker.task_manager'
|
7
|
+
end
|
8
|
+
|
9
|
+
def queue_options
|
10
|
+
{ arguments: { 'x-single-active-consumer': true } }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lex-tasker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Esity
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '2'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: codecov
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
25
32
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,13 +67,27 @@ dependencies:
|
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
70
|
+
name: rspec_junit_formatter
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '0'
|
62
|
-
type: :
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
63
91
|
prerelease: false
|
64
92
|
version_requirements: !ruby/object:Gem::Requirement
|
65
93
|
requirements:
|
@@ -73,27 +101,54 @@ executables: []
|
|
73
101
|
extensions: []
|
74
102
|
extra_rdoc_files: []
|
75
103
|
files:
|
104
|
+
- ".circleci/config.yml"
|
76
105
|
- ".gitignore"
|
77
|
-
- ".idea/encodings.xml"
|
78
|
-
- ".idea/legion-extensions-tasker.iml"
|
79
|
-
- ".idea/misc.xml"
|
80
|
-
- ".idea/modules.xml"
|
81
|
-
- ".idea/workspace.xml"
|
82
106
|
- ".rspec"
|
83
|
-
- ".
|
107
|
+
- ".rubocop.yml"
|
108
|
+
- Dockerfile
|
84
109
|
- Gemfile
|
110
|
+
- Gemfile.lock
|
85
111
|
- LICENSE.txt
|
86
112
|
- README.md
|
87
113
|
- Rakefile
|
88
|
-
-
|
89
|
-
-
|
90
|
-
-
|
114
|
+
- bitbucket-pipelines.yml
|
115
|
+
- docker_deploy.rb
|
116
|
+
- lex-tasker.gemspec
|
91
117
|
- lib/legion/extensions/tasker.rb
|
118
|
+
- lib/legion/extensions/tasker/actors/check_subtask.rb
|
119
|
+
- lib/legion/extensions/tasker/actors/fetch_delayed.rb
|
120
|
+
- lib/legion/extensions/tasker/actors/fetch_delayed_push.rb
|
121
|
+
- lib/legion/extensions/tasker/actors/log.rb
|
122
|
+
- lib/legion/extensions/tasker/actors/task_manager.rb
|
123
|
+
- lib/legion/extensions/tasker/actors/updater.rb
|
124
|
+
- lib/legion/extensions/tasker/helpers/base.rb
|
125
|
+
- lib/legion/extensions/tasker/helpers/fetch_delayed.rb
|
126
|
+
- lib/legion/extensions/tasker/helpers/find_subtask.rb
|
127
|
+
- lib/legion/extensions/tasker/runners/check_subtask.rb
|
128
|
+
- lib/legion/extensions/tasker/runners/fetch_delayed.rb
|
129
|
+
- lib/legion/extensions/tasker/runners/log.rb
|
130
|
+
- lib/legion/extensions/tasker/runners/task_manager.rb
|
131
|
+
- lib/legion/extensions/tasker/runners/updater.rb
|
132
|
+
- lib/legion/extensions/tasker/transport.rb
|
133
|
+
- lib/legion/extensions/tasker/transport/exchanges/task.rb
|
134
|
+
- lib/legion/extensions/tasker/transport/messages/fetch_delayed.rb
|
135
|
+
- lib/legion/extensions/tasker/transport/queues/check_subtask.rb
|
136
|
+
- lib/legion/extensions/tasker/transport/queues/fetch_delayed.rb
|
137
|
+
- lib/legion/extensions/tasker/transport/queues/lex_register.rb
|
138
|
+
- lib/legion/extensions/tasker/transport/queues/subtask.rb
|
139
|
+
- lib/legion/extensions/tasker/transport/queues/task_log.rb
|
140
|
+
- lib/legion/extensions/tasker/transport/queues/task_mananger.rb
|
141
|
+
- lib/legion/extensions/tasker/transport/queues/updater.rb
|
92
142
|
- lib/legion/extensions/tasker/version.rb
|
93
143
|
homepage: https://bitbucket.org/legion-io/lex-tasker
|
94
144
|
licenses:
|
95
145
|
- MIT
|
96
|
-
metadata:
|
146
|
+
metadata:
|
147
|
+
homepage_uri: https://bitbucket.org/legion-io/lex-tasker
|
148
|
+
source_code_uri: https://bitbucket.org/legion-io/lex-tasker/src
|
149
|
+
documentation_uri: https://legionio.atlassian.net/wiki/spaces/LEX/pages/7733408
|
150
|
+
changelog_uri: https://legionio.atlassian.net/wiki/spaces/LEX/pages/12156936
|
151
|
+
bug_tracker_uri: https://bitbucket.org/legion-io/lex-tasker/issues
|
97
152
|
post_install_message:
|
98
153
|
rdoc_options: []
|
99
154
|
require_paths:
|
@@ -102,15 +157,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
102
157
|
requirements:
|
103
158
|
- - ">="
|
104
159
|
- !ruby/object:Gem::Version
|
105
|
-
version:
|
160
|
+
version: 2.5.0
|
106
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
162
|
requirements:
|
108
163
|
- - ">="
|
109
164
|
- !ruby/object:Gem::Version
|
110
165
|
version: '0'
|
111
166
|
requirements: []
|
112
|
-
|
113
|
-
rubygems_version: 2.7.8
|
167
|
+
rubygems_version: 3.1.4
|
114
168
|
signing_key:
|
115
169
|
specification_version: 4
|
116
170
|
summary: LEX::Tasker manages tasks status from Legion
|
data/.idea/encodings.xml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<module type="RUBY_MODULE" version="4">
|
3
|
-
<component name="NewModuleRootManager">
|
4
|
-
<content url="file://$MODULE_DIR$" />
|
5
|
-
<orderEntry type="jdk" jdkName="RVM: ruby-2.4.5" jdkType="RUBY_SDK" />
|
6
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
7
|
-
</component>
|
8
|
-
</module>
|
data/.idea/misc.xml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="JavaScriptSettings">
|
4
|
-
<option name="languageLevel" value="ES6" />
|
5
|
-
</component>
|
6
|
-
<component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-2.4.0" project-jdk-type="RUBY_SDK" />
|
7
|
-
</project>
|
data/.idea/modules.xml
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ProjectModuleManager">
|
4
|
-
<modules>
|
5
|
-
<module fileurl="file://$PROJECT_DIR$/.idea/legion-extensions-tasker.iml" filepath="$PROJECT_DIR$/.idea/legion-extensions-tasker.iml" />
|
6
|
-
</modules>
|
7
|
-
</component>
|
8
|
-
</project>
|
data/.idea/workspace.xml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="PropertiesComponent">
|
4
|
-
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
5
|
-
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
6
|
-
</component>
|
7
|
-
</project>
|
data/.travis.yml
DELETED
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require 'bundler/setup'
|
4
|
-
require 'legion/extensions/tasker'
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require 'irb'
|
14
|
-
IRB.start(__FILE__)
|
data/bin/setup
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
lib = File.expand_path('lib', __dir__)
|
2
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
-
require 'legion/extensions/tasker/version'
|
4
|
-
|
5
|
-
Gem::Specification.new do |spec|
|
6
|
-
spec.name = 'lex-tasker'
|
7
|
-
spec.version = Legion::Extensions::Tasker::VERSION
|
8
|
-
spec.authors = ['Miverson']
|
9
|
-
spec.email = ['matthewdiverson@gmail.com']
|
10
|
-
|
11
|
-
spec.summary = 'LEX::Tasker manages tasks status from Legion'
|
12
|
-
spec.description = 'This LEX keeps track of tasks and their status'
|
13
|
-
spec.homepage = 'https://bitbucket.org/legion-io/lex-tasker'
|
14
|
-
spec.license = 'MIT'
|
15
|
-
|
16
|
-
# Specify which files should be added to the gem when it is released.
|
17
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
18
|
-
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
19
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
|
-
end
|
21
|
-
spec.bindir = 'exe'
|
22
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
|
-
spec.require_paths = ['lib']
|
24
|
-
|
25
|
-
spec.add_development_dependency 'bundler', '~> 1'
|
26
|
-
spec.add_development_dependency 'rake'
|
27
|
-
spec.add_development_dependency 'rspec'
|
28
|
-
|
29
|
-
spec.add_dependency 'legion-extensions'
|
30
|
-
end
|