emque-consuming 1.9.0 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4c743d09735f9d7cef0e9afd1c352159e1502abceed3d05fc1132a33597401a5
4
- data.tar.gz: c22b17e397c032fc2251393b93feb39558a996258d5c27382b9b3397416a5f61
3
+ metadata.gz: 259c7b22f2046972a4dc8d74895a876f7b510eeca07ba8ba88c686330070dafa
4
+ data.tar.gz: ada2575a2efcdbbd39c286bbe0567b14664b8075d62b107a2e3725dac38e1b3c
5
5
  SHA512:
6
- metadata.gz: ea654910256e56c42cf3ef77d88ae0f3f4f57e304b99b54097f36695321dc2a74d2010436ec97b115d1f52895fe25412aeeaa1f49ad8b4e95c0cebf651b730c5
7
- data.tar.gz: c5f32b23b28004f8d5ba6f9aafedda6a99ce75b5fe1c136cbea5aea74152b9ef99b01ac8b797eeae5a0f30d60189db39a3e0643251b0a90e2adc76a8a1d54ac5
6
+ metadata.gz: f96688d19a2253cb72ba318efaa063aaa8a6b0d344d6e494b41378989469e1abfe4eabfa9e53646bb899ce3b3f6b05b325c8828ed432b2f86f14e652acd1ae70
7
+ data.tar.gz: 5b97bffee37917327ae6e9e48c723099fb734d6afd5c3a1f44c602776b9b1058d2d86c0a564c9fc62cea85d34df025f34448d273bc9ab111b3e8aa7ea23d24fc
@@ -54,11 +54,11 @@ module Emque
54
54
  unless IGNORE.include?(e)
55
55
  loc = File.join(path, e)
56
56
 
57
- if Dir.exists?(loc)
57
+ if Dir.exist?(loc)
58
58
  new_nest = nesting + [e]
59
59
  create_path = File.join(*new_nest)
60
60
 
61
- unless Dir.exists?(create_path)
61
+ unless Dir.exist?(create_path)
62
62
  FileUtils.mkdir_p(create_path)
63
63
  puts "created directory #{relative_path(create_path)}"
64
64
  end
@@ -72,7 +72,7 @@ module Emque
72
72
  display = relative_path(filename)
73
73
  overwrite = "Y"
74
74
 
75
- if File.exists?(filename)
75
+ if File.exist?(filename)
76
76
  print "#{display} exists, overwrite? (yN) "
77
77
  overwrite = $stdin.gets
78
78
  end
@@ -12,7 +12,7 @@ module Emque
12
12
  def initialize(path)
13
13
  self.path = path
14
14
  ensure_dir_exists
15
- self.pid = File.read(path).to_i if File.exists?(path)
15
+ self.pid = File.read(path).to_i if File.exist?(path)
16
16
  end
17
17
 
18
18
  def running?
@@ -47,7 +47,7 @@ module Emque
47
47
  end
48
48
 
49
49
  def rm_file
50
- FileUtils.rm_f(path) if File.exists?(path)
50
+ FileUtils.rm_f(path) if File.exist?(path)
51
51
  end
52
52
  end
53
53
  end
@@ -6,7 +6,7 @@ module Emque
6
6
  module Consuming
7
7
  module Transmitter
8
8
  def self.send(command:, socket_path: "tmp/emque.sock", args: [])
9
- if File.exists?(socket_path)
9
+ if File.exist?(socket_path)
10
10
  socket = UNIXSocket.new(socket_path)
11
11
  socket.send(Oj.dump({
12
12
  :command => command,
@@ -19,7 +19,7 @@ module Emque
19
19
  "Socket not found at #{socket_path}"
20
20
  end
21
21
  rescue Errno::ECONNREFUSED
22
- FileUtils.rm_f(socket_path) if File.exists?(socket_path)
22
+ FileUtils.rm_f(socket_path) if File.exist?(socket_path)
23
23
  "The UNIX Socket found at #{socket_path} was dead"
24
24
  end
25
25
 
@@ -1,5 +1,5 @@
1
1
  module Emque
2
2
  module Consuming
3
- VERSION = "1.9.0"
3
+ VERSION = "1.9.1"
4
4
  end
5
5
  end
data/spec/pidfile_spec.rb CHANGED
@@ -5,9 +5,9 @@ describe Emque::Consuming::Pidfile do
5
5
  it "creates a directory to hold the pidfile if it doesn't exist" do
6
6
  path = "spec/dummy/tmp/testingpidpath"
7
7
  pidfile = File.join(path, "pidfile.pid")
8
- expect(Dir.exists?(path)).to eq(false)
8
+ expect(Dir.exist?(path)).to eq(false)
9
9
  Emque::Consuming::Pidfile.new(pidfile)
10
- expect(Dir.exists?(path)).to eq(true)
10
+ expect(Dir.exist?(path)).to eq(true)
11
11
  FileUtils.rm_rf(path)
12
12
  end
13
13
 
@@ -35,9 +35,9 @@ describe Emque::Consuming::Pidfile do
35
35
  f.write("10000000")
36
36
  end
37
37
  pf = Emque::Consuming::Pidfile.new(pidfile)
38
- expect(File.exists?(pidfile)).to eq(true)
38
+ expect(File.exist?(pidfile)).to eq(true)
39
39
  expect(pf.running?).to eq(false)
40
- expect(File.exists?(pidfile)).to eq(false)
40
+ expect(File.exist?(pidfile)).to eq(false)
41
41
  FileUtils.rm_rf(path)
42
42
  end
43
43
  end
@@ -51,7 +51,7 @@ describe Emque::Consuming::Pidfile do
51
51
  f.write(Process.pid)
52
52
  end
53
53
  pf = Emque::Consuming::Pidfile.new(pidfile)
54
- expect(File.exists?(pidfile)).to eq(true)
54
+ expect(File.exist?(pidfile)).to eq(true)
55
55
  expect(pf.running?).to eq(true)
56
56
  FileUtils.rm_rf(path)
57
57
  end
@@ -64,9 +64,9 @@ describe Emque::Consuming::Pidfile do
64
64
  path = "spec/dummy/tmp/testingpidpath"
65
65
  pidfile = File.join(path, "pidfile.pid")
66
66
  pf = Emque::Consuming::Pidfile.new(pidfile)
67
- expect(File.exists?(pidfile)).to eq(false)
67
+ expect(File.exist?(pidfile)).to eq(false)
68
68
  pf.write
69
- expect(File.exists?(pidfile)).to eq(true)
69
+ expect(File.exist?(pidfile)).to eq(true)
70
70
  expect(File.read(pidfile).chomp).to eq(Process.pid.to_s)
71
71
  FileUtils.rm_rf(path)
72
72
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emque-consuming
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Williams
8
8
  - Dan Matthews
9
9
  - Paul Hanyzewski
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-06-30 00:00:00.000000000 Z
13
+ date: 2023-09-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: celluloid
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 2.18.5
49
+ version: '3.13'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 2.18.5
56
+ version: '3.13'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: virtus
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '1.0'
91
+ version: 1.0.2
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '1.0'
98
+ version: 1.0.2
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: inflecto
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -172,14 +172,14 @@ dependencies:
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: 0.7.1
175
+ version: '0.7'
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: 0.7.1
182
+ version: '0.7'
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: daemon_controller
185
185
  requirement: !ruby/object:Gem::Requirement
@@ -194,23 +194,13 @@ dependencies:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
196
  version: 1.2.0
197
- description:
197
+ description:
198
198
  email:
199
199
  - oss@teamsnap.com
200
- executables:
201
- - emque
200
+ executables: []
202
201
  extensions: []
203
202
  extra_rdoc_files: []
204
203
  files:
205
- - ".github/workflows/ci.yml"
206
- - ".gitignore"
207
- - CHANGELOG.md
208
- - Gemfile
209
- - LICENSE.txt
210
- - README.md
211
- - Rakefile
212
- - bin/emque
213
- - emque-consuming.gemspec
214
204
  - lib/emque-consuming.rb
215
205
  - lib/emque/consuming.rb
216
206
  - lib/emque/consuming/actor.rb
@@ -246,15 +236,6 @@ files:
246
236
  - lib/emque/consuming/tasks.rb
247
237
  - lib/emque/consuming/transmitter.rb
248
238
  - lib/emque/consuming/version.rb
249
- - lib/templates/.gitignore.tt
250
- - lib/templates/Gemfile.tt
251
- - lib/templates/Rakefile.tt
252
- - lib/templates/config/application.rb.tt
253
- - lib/templates/config/environments/development.rb.tt
254
- - lib/templates/config/environments/production.rb.tt
255
- - lib/templates/config/environments/staging.rb.tt
256
- - lib/templates/config/environments/test.rb.tt
257
- - lib/templates/config/routes.rb.tt
258
239
  - spec/application_spec.rb
259
240
  - spec/cli_spec.rb
260
241
  - spec/configuration_spec.rb
@@ -275,7 +256,7 @@ homepage: https://github.com/teamsnap/emque-consuming
275
256
  licenses:
276
257
  - MIT
277
258
  metadata: {}
278
- post_install_message:
259
+ post_install_message:
279
260
  rdoc_options: []
280
261
  require_paths:
281
262
  - lib
@@ -290,8 +271,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
271
  - !ruby/object:Gem::Version
291
272
  version: '0'
292
273
  requirements: []
293
- rubygems_version: 3.0.3.1
294
- signing_key:
274
+ rubygems_version: 3.2.22
275
+ signing_key:
295
276
  specification_version: 4
296
277
  summary: Microservices framework for Ruby
297
278
  test_files:
@@ -1,27 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ main ]
6
- pull_request:
7
- branches: [ main ]
8
-
9
- jobs:
10
- test:
11
-
12
- runs-on: ubuntu-latest
13
-
14
- strategy:
15
- matrix:
16
- ruby: [ '2.3.8', '2.4.10', '2.5.9', '2.6.7', '2.7.3' ]
17
-
18
- steps:
19
- - uses: actions/checkout@v2
20
- - name: Set up Ruby
21
- uses: ruby/setup-ruby@v1
22
- with:
23
- ruby-version: ${{ matrix.ruby }}
24
- - name: Install dependencies
25
- run: bundle install
26
- - name: Run tests
27
- run: bundle exec rake
data/.gitignore DELETED
@@ -1,41 +0,0 @@
1
- *.gem
2
- *.rbc
3
- /.project
4
- /.config
5
- /coverage/
6
- /InstalledFiles
7
- /pkg/
8
- /spec/reports/
9
- /test/tmp/
10
- /test/version_tmp/
11
- /tmp/
12
- kafka_*/
13
- /log/*
14
- /logs/*
15
- log-cleaner.log
16
- Gemfile.lock
17
- *.log
18
-
19
- ## Specific to RubyMotion:
20
- .dat*
21
- .repl_history
22
- build/
23
-
24
- ## Documentation cache and generated files:
25
- /.yardoc/
26
- /_yardoc/
27
- /doc/
28
- /rdoc/
29
-
30
- ## Environment normalisation:
31
- /.bundle/
32
- /lib/bundler/man/
33
-
34
- # for a library or gem, you might want to ignore these files since the code is
35
- # intended to run in multiple environments; otherwise, check them in:
36
- # Gemfile.lock
37
- # .ruby-version
38
- # .ruby-gemset
39
-
40
- # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
41
- .rvmrc
data/CHANGELOG.md DELETED
@@ -1,29 +0,0 @@
1
- # Emque Consuming CHANGELOG
2
-
3
- - [Add support for running in Kubernetes](https://github.com/emque/emque-consuming/pull/84) (1.9.0)
4
- - [Migrate to GitHub Actions](https://github.com/emque/emque-consuming/pull/82) (1.8.1)
5
- - [Add prefetch for DelayedMessageWorker](https://github.com/emque/emque-consuming/pull/81) (1.8.0)
6
- - [Update Rake to fix CVE-2020-8130](https://github.com/emque/emque-consuming/pull/80) (1.7.1)
7
- - [Update pipe-ruby to remove error handling](https://github.com/emque/emque-consuming/pull/78) 1.7.0
8
- - [Fixes bug with Bunny 2.12 failing when exchange names are symbols](https://github.com/emque/emque-consuming/pull/77) 1.6.1
9
- - [Re-enable pipe-ruby `raise_on_error` option to fix automatic retries directing messages to the error queue](https://github.com/emque/emque-consuming/pull/75) 1.6.0
10
- - [Update the puma gem to allow v3](https://github.com/emque/emque-consuming/pull/72) 1.5.0
11
- - [Disable pipe-ruby `raise_on_error` option to prevent duplicate erorrs](https://github.com/emque/emque-consuming/pull/74) 1.4.0
12
- - [Update minimum Ruby version to 2.3](https://github.com/emque/emque-consuming/pull/68) 1.3.0
13
- - [Update the oj gem to 2.18.5](https://github.com/emque/emque-consuming/pull/67) 1.2.4
14
- - [Add error logging when an exception is thrown.](https://github.com/emque/emque-consuming/pull/65) 1.2.3
15
- - [Remove double ack when consuming a message and ending up in an error state. This was causing consumers to die silently.](https://github.com/emque/emque-consuming/pull/59) 1.2.1
16
- - [Add in the ability to retry errors and back off with an exponential delay](https://github.com/emque/emque-consuming/pull/55) 1.2.0
17
- - [Add in a configuration option to disable auto shutdown on reaching the error limit](https://github.com/emque/emque-consuming/pull/58) 1.1.3
18
-
19
- ## 1.0.0.beta4
20
-
21
- ### BREAKING CHANGE - New Queue Names
22
- Applications updating to this version will have new queue names in RabbitMQ.
23
- After starting up, messages will need to be manually moved
24
- from the old queue to the new one.
25
-
26
- ### Failed Message Routing
27
- Messages that are not acknowledged due to a consumer error will now be routed
28
- into a `service_name.error` queue. These can then be inspected and be discarded,
29
- purged, or manually moved back to the primary queue for re-processing.
data/Gemfile DELETED
@@ -1,7 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "simplecov", :require => false
4
- gem "coveralls", :require => false
5
- gem "pry", :require => false
6
-
7
- gemspec
data/LICENSE.txt DELETED
@@ -1,22 +0,0 @@
1
- Copyright (c) 2014 TeamSnap
2
-
3
- MIT License
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md DELETED
@@ -1,223 +0,0 @@
1
- # Emque::Consuming
2
-
3
- ![CI](https://github.com/emque/emque-consuming/workflows/CI/badge.svg)
4
- [![Gem Version](https://badge.fury.io/rb/emque-consuming.svg)](https://badge.fury.io/rb/emque-consuming)
5
- [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
-
7
- Emque Consuming is a Ruby application framework that includes everything needed
8
- to create and run application capable of consuming messages from a message
9
- broker in a Pub/sub architecture. Messages can be produced with the
10
- [emque-producing](https://github.com/emque/emque-producing) library.
11
-
12
- ## Adapters
13
-
14
- We currently only support RabbitMQ. If you would like to add your own adapter,
15
- take a look at [the adapters directory](https://github.com/emque/emque-consuming/tree/main/lib/emque/consuming/adapters).
16
-
17
- ## Installation
18
-
19
- Add this line to your application's Gemfile:
20
-
21
- ```ruby
22
- gem "emque-consuming"
23
- # make sure you have bunny for rabbitmq unless you're using a custom adapter
24
- gem "bunny", "~> 2.11.0"
25
- ```
26
-
27
- And then execute:
28
-
29
- $ bundle
30
-
31
- Or install it yourself as:
32
-
33
- $ gem install emque-consuming
34
-
35
- ## Setup
36
-
37
- ### Easy
38
-
39
- Using the `new` generator is the easiest way to get up and running quickly.
40
-
41
- ```
42
- emque <options> new name
43
- ```
44
-
45
- This command will create a directory "name" with barebones directories and files
46
- you'll need to get started. You can also use the following command line options
47
- to customize your application's configuration. Options will be added to the
48
- config/application.rb file generated.
49
-
50
- ```
51
- emque <options> (start|stop|new|console|help) <name (new only)>
52
- # ...
53
- -S, --socket PATH PATH to the application's unix socket
54
- -b, --bind IP:PORT IP & port for the http status application to listen on.
55
- # ...
56
- -e, --error-limit N Set the max errors before application suicide
57
- -s, --status Run the http status application
58
- -x, --error-expiration SECONDS Expire errors after SECONDS
59
- --app-name NAME Run the application as NAME
60
- # ...
61
- ```
62
-
63
- ### Automatic Error Retries
64
-
65
- In 1.2.0 the ability to automatically retry specific types of errors was introduced.
66
- This depends on the [Delayed Message Exchange](https://github.com/rabbitmq/rabbitmq-delayed-message-exchange) plugin. After
67
- [installing the plugin](https://github.com/rabbitmq/rabbitmq-delayed-message-exchange#installing),
68
- you'll need to configure emque consuming to utilize the plugin:
69
-
70
- ```
71
- config.enable_delayed_message = true # turn on retryable errors, defaults to false
72
- config.retryable_errors = ["ExampleError"] # a comma delimited array of strings matching the error, defaults to any empty array ([])
73
- config.retryable_error_limit = 4 # the number of retries to use before dead lettering the message, defaults to 3
74
- config.delayed_message_workers = 3 # the number of workers processing delayed messages, defaults to 1
75
- ```
76
-
77
- This will now allow you to retry known errors with an exponential backoff, which should help with transient errors!
78
-
79
- ### Custom
80
-
81
- Configure Emque::Consuming in your config/application.rb file. Here is an example:
82
-
83
- ```ruby
84
- # config/application.rb
85
- require "emque/consuming"
86
-
87
- module Example
88
- class Application
89
- include Emque::Consuming::Application
90
-
91
- initialize_core!
92
-
93
- config.set_adapter(:rabbit_mq, :url => ENV["RABBITMQ_URL"], :prefetch => 10)
94
-
95
- # customize the error thresholds
96
- # config.error_limit = 10
97
- # config.error_expiration = 300
98
-
99
- # enable the status application
100
- # config.status = :on
101
-
102
- # errors will be logged, but if more is needed, that can be added
103
- # config.error_handlers << Proc.new {|ex, context|
104
- # send an email, send to HoneyBadger, etc
105
- # }
106
-
107
- # do something when shutdown occurs
108
- # config.shutdown_handlers << Proc.new { |context|
109
- # notify slack, pagerduty or send an email
110
- # }
111
- end
112
- end
113
- ```
114
-
115
- You'll also want to set up a routes.rb file:
116
-
117
- ```ruby
118
- # config/routes.rb
119
-
120
- Example::Application.router.map do
121
- topic "events" => EventsConsumer do
122
- map "events.new" => "new_event"
123
- # ...
124
- end
125
-
126
- # ...
127
- end
128
- ```
129
-
130
- and a consumer for each topic:
131
-
132
- ```ruby
133
- # app/consumers/events_consumer.rb
134
-
135
- class EventsConsumer
136
- include Emque::Consuming.consumer
137
-
138
- def new_event(message)
139
- # NOTE: message is an immutable Virtus (https://github.com/solnic/virtus) Value Object.
140
- # Check it out here: https://github.com/emque/emque-consuming/blob/main/lib/emque/consuming/message.rb
141
-
142
- # You don't have to use pipe (https://github.com/teamsnap/pipe-ruby), but we love it!
143
- pipe(message, :through => [
144
- :shared_action, :do_something_with_new_event
145
- ])
146
- end
147
-
148
- private
149
-
150
- def shared_action(message)
151
- # ...
152
- end
153
-
154
- def do_something_with_new_event(message)
155
- # ...
156
- end
157
- end
158
- ```
159
-
160
- ## Usage
161
-
162
- Emque::Consuming provides a command line interface:
163
-
164
- ```
165
- $ bundle exec emque help
166
-
167
- emque <options> (start|stop|new|console|help) <name (new only)>
168
- -P, --pidfile PATH Store pid in PATH
169
- -S, --socket PATH PATH to the application's unix socket
170
- -b, --bind IP:PORT IP & port for the http status application to listen on.
171
- -d, --daemon Daemonize the application
172
- -e, --error-limit N Set the max errors before application suicide
173
- -s, --status Run the http status application
174
- -x, --error-expiration SECONDS Expire errors after SECONDS
175
- --app-name NAME Run the application as NAME
176
- --env (ex. production) Set the application environment, overrides EMQUE_ENV
177
- --auto-shutdown (false|true) Enable or disable auto shutdown on reaching the error limit
178
- ```
179
-
180
- and a series of rake commands:
181
-
182
- ```
183
- $ bundle exec rake -T
184
-
185
- rake emque:configuration # Show the current configuration of a running instance (accepts SOCKET)
186
- rake emque:console # Start a pry console
187
- rake emque:errors:clear # Clear all outstanding errors (accepts SOCKET)
188
- rake emque:errors:expire_after # Change the number of seconds to SECONDS before future errors expire (accepts SOCKET)
189
- rake emque:errors:limit:down # Decrease the error limit (accepts SOCKET)
190
- rake emque:errors:limit:up # Increase the error limit (accepts SOCKET)
191
- rake emque:restart # Restart the workers inside a running instance (does not reload code; accepts SOCKET)
192
- rake emque:routes # Show the available routes
193
- rake emque:start # Start a new instance (accepts PIDFILE, DAEMON)
194
- rake emque:status # Show the current status of a running instance (accepts SOCKET)
195
- rake emque:stop # Stop a running instance (accepts SOCKET)
196
- ```
197
-
198
- To use the rake commands, add the following lines to your application's Rakefile:
199
-
200
- ```ruby
201
- require_relative "config/application"
202
- require "emque/consuming/tasks"
203
- ```
204
-
205
- ## Tests
206
-
207
- Testing is a bit sparse at the moment, but we're working on it.
208
-
209
- To run tests...
210
-
211
- ```
212
- bundle exec rspec
213
- ```
214
-
215
- ## Contributing
216
-
217
- FIRST: Read our style guides at https://github.com/teamsnap/guides/tree/master/ruby
218
-
219
- 1. Fork it ( http://github.com/emque/emque-consuming/fork )
220
- 2. Create your feature branch (`git checkout -b my-new-feature`)
221
- 3. Commit your changes (`git commit -am 'Add some feature'`)
222
- 4. Push to the branch (`git push origin my-new-feature`)
223
- 5. Create new Pull Request
data/Rakefile DELETED
@@ -1,14 +0,0 @@
1
- require "rubygems"
2
- require "bundler/gem_tasks"
3
- require "rake/clean"
4
- require "rspec/core/rake_task"
5
- require "coveralls/rake/task"
6
-
7
- CLOBBER.include("coverage")
8
-
9
- RSpec::Core::RakeTask.new(:spec) do |t|
10
- t.fail_on_error = false
11
- end
12
- task :default => :spec
13
-
14
- Coveralls::RakeTask.new
data/bin/emque DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "emque-consuming"
4
-
5
- Emque::Consuming::Cli.new(ARGV)
@@ -1,36 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "emque/consuming/version"
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "emque-consuming"
8
- spec.version = Emque::Consuming::VERSION
9
- spec.authors = ["Ryan Williams", "Dan Matthews", "Paul Hanyzewski"]
10
- spec.email = ["oss@teamsnap.com"]
11
- spec.summary = %q{Microservices framework for Ruby}
12
- spec.summary = %q{Microservices framework for Ruby}
13
- spec.homepage = "https://github.com/teamsnap/emque-consuming"
14
- spec.license = "MIT"
15
-
16
- spec.files = `git ls-files`.split($/)
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
20
- spec.required_ruby_version = ">= 2.3"
21
-
22
- spec.add_dependency "celluloid", "0.16.0"
23
- spec.add_dependency "dante", "~> 0.2.0"
24
- spec.add_dependency "oj", "~> 2.18.5"
25
- spec.add_dependency "virtus", "~> 1.0"
26
- spec.add_dependency "puma", "~> 3.12"
27
- spec.add_dependency "pipe-ruby", "~> 1.0"
28
- spec.add_dependency "inflecto", "~> 0.0.2"
29
-
30
- spec.add_development_dependency "bundler", ">= 1.17.3"
31
- spec.add_development_dependency "rake", ">= 12.3.3"
32
- spec.add_development_dependency "rspec", "~> 3.3"
33
- spec.add_development_dependency "bunny", "~> 2.11.0"
34
- spec.add_development_dependency "timecop", "~> 0.7.1"
35
- spec.add_development_dependency "daemon_controller", "~> 1.2.0"
36
- end
@@ -1,25 +0,0 @@
1
- *.rbc
2
- *.sassc
3
- .sass-cache
4
- capybara-*.html
5
- .rspec
6
- .rvmrc
7
- /.bundle
8
- /vendor/bundle
9
- /log/*
10
- /logs/*
11
- /tmp/*
12
- /db/*.sqlite3
13
- /public/system/*
14
- /coverage/
15
- /spec/tmp/*
16
- **.orig
17
- rerun.txt
18
- pickle-email-*.html
19
- .project
20
- config/initializers/secret_token.rb
21
- config/*.yml
22
- .ruby-version
23
- .rbenv-version
24
- /bin/stubs
25
- spec/fixtures/vcr_cassettes/*
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- ruby "2.1.2"
4
-
5
- gem "rake"
6
- gem "emque-consuming", :git => "https://github.com/teamsnap/emque-consuming.git"
@@ -1,7 +0,0 @@
1
- require_relative "config/application"
2
- require "emque/consuming/tasks"
3
-
4
- __DIR__ = File.dirname(__FILE__)
5
- Dir.glob("#{__DIR__}/tasks/*.rake").each do |rake_file|
6
- import rake_file
7
- end
@@ -1,42 +0,0 @@
1
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", __FILE__)
2
- require "bundler/setup" if File.exists?(ENV["BUNDLE_GEMFILE"])
3
-
4
- require "emque/consuming"
5
-
6
- $LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib")
7
-
8
- module <%= @name %>
9
- class Application
10
- include Emque::Consuming::Application
11
-
12
- initialize_core!
13
-
14
- <%=
15
- [].tap { |options_out|
16
- if @options.has_key?(:app_name)
17
- options_out << "config.app_name = \"#{@options[:app_name]}\""
18
- end
19
- if @options.has_key?(:error_limit)
20
- options_out << "config.error_limit = #{@options[:error_limit]}"
21
- end
22
- if @options.has_key?(:error_expiration)
23
- options_out << "config.error_expiration = #{@options[:error_expiration]}"
24
- end
25
- options_out << "config.set_adapter(:rabbit_mq)"
26
- if @options.has_key?(:status)
27
- options_out << "config.status = :on"
28
- end
29
- if @options.has_key?(:status_host)
30
- options_out << "config.status_host = \"#{@options[:status_host]}\""
31
- end
32
- if @options.has_key?(:status_port)
33
- options_out << "config.status_port = #{@options[:status_port]}"
34
- end
35
- if @options.has_key?(:socket_path)
36
- options_out << "config.socket_path = \"#{@options[:socket_path]}\""
37
- end
38
- }.join("\n ")
39
- %>
40
- end
41
- end
42
-
@@ -1,2 +0,0 @@
1
- <%= @name %>::Application.configure do
2
- end
@@ -1,2 +0,0 @@
1
- <%= @name %>::Application.configure do
2
- end
@@ -1,2 +0,0 @@
1
- <%= @name %>::Application.configure do
2
- end
@@ -1,2 +0,0 @@
1
- <%= @name %>::Application.configure do
2
- end
@@ -1,8 +0,0 @@
1
- <%= @name %>::Application.router.map do
2
- # topic "samples" => SamplesConsumer[, :workers => 2] do
3
- # map "samples.new" => "new_sample"
4
- # ...
5
- # end
6
-
7
- # ...
8
- end