totoro 0.1.1 → 0.1.2

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: 1b855c03103c0f44f0314a886e47df738bdf4c30adbd3992100d58ff2d53ce2b
4
- data.tar.gz: d42f989505b5bf77827be0bc760cdf6a076680476eb76b06feb110d73a400a01
3
+ metadata.gz: f8a3d545d257843e061c07ced9defa1da81b9152046433b6595abb7745f2cf92
4
+ data.tar.gz: c80f3d65b173af4cc8fbc52c264de04afce72379c509b557083066a25e09e2f5
5
5
  SHA512:
6
- metadata.gz: 0ac98c3d5ea689d892ccab975c825e4cb04858508a868f54b7eb872a6395517f9fe303f72488ffa0244e3e155ede9818afdafac562012535c24ea4fe61cf61e2
7
- data.tar.gz: cd5380df341c14f7aac2844e348b6623db4e010917c0ccca46a1ad6b97deff902d6fda6f00c6eeed6870f4a18f7cc33cd7cc5eafad8cbd443d3b43cba19119e4
6
+ metadata.gz: 24d012083e63c863e7651d6268cf7372ea6fb79bd253fb622321a90cc68d0ae66239f5c1c0014cb2a885dff512ff903f568453d4487ad5971e57d009532abd1b
7
+ data.tar.gz: 5cfd29b9ce643f998d70b4cb791bf2d62d061771cf906e8d429dd2511b3d2bb65e13be1c45723e733f353a31e60225207a966c703678e785885f826c72430ae2
data/bin/totoro CHANGED
@@ -11,11 +11,12 @@ require File.join(root, 'config', 'environment')
11
11
  Rails.logger = logger = Logger.new STDOUT
12
12
  logger.level = Logger.const_get(Rails.configuration.log_level.to_s.upcase)
13
13
 
14
- worker_class = ARGV[0]
14
+ worker_name = ARGV[0]
15
15
  logger.info 'Start to subscribe to Rabbitmq'
16
- worker = Totoro::Config.get_worker worker_class
17
- Totoro::Queue.subscribe(worker_class) do |delivery_info, metadata, payload|
18
- logger.info "#{worker_class} Received: #{payload}"
16
+ worker = Totoro::Config.get_worker worker_name
17
+ worker_queue = worker.class::QUEUE
18
+ Totoro::Queue.subscribe(worker_queue) do |delivery_info, metadata, payload|
19
+ logger.info "#{worker_queue} Received: #{payload}"
19
20
  payload_hash = JSON.parse(payload).with_indifferent_access
20
21
  worker.process payload_hash, metadata, delivery_info
21
22
  end
@@ -0,0 +1,10 @@
1
+ module Totoro
2
+ class ConfigGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('../templates', __FILE__)
4
+ desc "Generate totoro config file"
5
+
6
+ def copy_config_file
7
+ template 'totoro.yml', File.join('config', 'totoro.yml')
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ default: &default
2
+ connect:
3
+ host: rabbitmq
4
+ port: 5672
5
+ user: app
6
+ pass: app
7
+
8
+ queue:
9
+ # example_queue:
10
+ # name: real.queue.name
11
+ # durable: true
12
+
13
+
14
+ development:
15
+ <<: *default
16
+
17
+ test:
18
+ <<: *default
19
+
20
+ production:
21
+ <<: *default
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Worker
4
+ class <%= name.camelcase %>
5
+ QUEUE = '<%= queue || name.underscore %>'
6
+ def process(payload, _metadata, _delivery_info)
7
+ # worker process
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ module Totoro
2
+ class WorkerGenerator < Rails::Generators::Base
3
+ desc "Generate totoro worker file"
4
+
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ argument :name, type: :string
7
+ argument :queue, type: :string, required: false
8
+
9
+ def copy_config_file
10
+ template 'worker.rb', File.join('app/models/worker', "#{name.underscore}.rb")
11
+ end
12
+ end
13
+ end
@@ -2,7 +2,7 @@ module Totoro
2
2
  class Config
3
3
  class <<self
4
4
  def data
5
- @data ||= Rails.application.config_for(:amqp).with_indifferent_access
5
+ @data ||= Rails.application.config_for(:totoro).with_indifferent_access
6
6
  end
7
7
 
8
8
  def reset_data
@@ -1,3 +1,3 @@
1
1
  module Totoro
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ShuHui18
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-27 00:00:00.000000000 Z
11
+ date: 2018-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -68,6 +68,10 @@ files:
68
68
  - bin/console
69
69
  - bin/setup
70
70
  - bin/totoro
71
+ - lib/generators/totoro/config_generator.rb
72
+ - lib/generators/totoro/templates/totoro.yml
73
+ - lib/generators/totoro/templates/worker.rb
74
+ - lib/generators/totoro/worker_generator.rb
71
75
  - lib/totoro.rb
72
76
  - lib/totoro/config.rb
73
77
  - lib/totoro/queue.rb