rabbit_jobs 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -19,17 +19,23 @@ module RabbitJobs
19
19
  raise ArgumentError unless klass && (klass.is_a?(Class) || klass.is_a?(String))
20
20
  raise ArgumentError unless routing_key && (routing_key.is_a?(Symbol) || routing_key.is_a?(String))
21
21
 
22
- exchange = bunny.exchange(RJ.config[:exchange], RJ.config[:exchange_params])
23
- queue = bunny.queue(RJ.config.queue_name(routing_key), RJ.config[:queues][routing_key.to_s])
24
- queue.bind(exchange)
25
-
26
- payload = {
27
- 'class' => klass.to_s,
28
- 'opts' => {'created_at' => Time.now.to_i},
29
- 'params' => params
30
- }.to_json
31
-
32
- exchange.publish(payload, Configuration::DEFAULT_MESSAGE_PARAMS.merge({key: routing_key.to_s}))
22
+ begin
23
+ exchange = bunny.exchange(RJ.config[:exchange], RJ.config[:exchange_params])
24
+ queue = bunny.queue(RJ.config.queue_name(routing_key), RJ.config[:queues][routing_key.to_s])
25
+ queue.bind(exchange)
26
+
27
+ payload = {
28
+ 'class' => klass.to_s,
29
+ 'opts' => {'created_at' => Time.now.to_i},
30
+ 'params' => params
31
+ }.to_json
32
+
33
+ exchange.publish(payload, Configuration::DEFAULT_MESSAGE_PARAMS.merge({key: routing_key.to_s}))
34
+ bunny.stop
35
+ rescue
36
+ RJ.logger.warn $!.inspect
37
+ RJ.logger.warn $!.backtrace.join("\n")
38
+ end
33
39
  end
34
40
 
35
41
  def purge_queue(*routing_keys)
@@ -41,12 +47,13 @@ module RabbitJobs
41
47
  messages_count += queue.status[:message_count]
42
48
  queue.purge
43
49
  end
50
+ bunny.stop
44
51
  return messages_count
45
52
  end
46
53
 
47
54
  private
48
- def bunny
49
- @bunny ||= Bunny.new(host: RJ.config.host, logging: false)
55
+ def self.bunny
56
+ @bunny = Bunny.new(host: RJ.config.host, logging: true)
50
57
  @bunny.start unless @bunny.status == :connected
51
58
  @bunny
52
59
  end
@@ -32,7 +32,6 @@ module RabbitJobs
32
32
  # job should be scheduled regardless of what ENV['RAILS_ENV'] is set
33
33
  # to.
34
34
  if config['rails_env'].nil? || rails_env_matches?(config)
35
- RJ.logger.info "Scheduling #{name} "
36
35
  interval_defined = false
37
36
  interval_types = %w{cron every}
38
37
  interval_types.each do |interval_type|
@@ -1,3 +1,3 @@
1
1
  module RabbitJobs
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbit_jobs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-05 00:00:00.000000000 Z
12
+ date: 2012-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: amqp
16
- requirement: &70147448525540 !ruby/object:Gem::Requirement
16
+ requirement: &70172197056640 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0.9'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70147448525540
24
+ version_requirements: *70172197056640
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bunny
27
- requirement: &70147448525040 !ruby/object:Gem::Requirement
27
+ requirement: &70172197056140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0.7'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70147448525040
35
+ version_requirements: *70172197056140
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rake
38
- requirement: &70147448524660 !ruby/object:Gem::Requirement
38
+ requirement: &70172197055760 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70147448524660
46
+ version_requirements: *70172197055760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rufus-scheduler
49
- requirement: &70147448524120 !ruby/object:Gem::Requirement
49
+ requirement: &70172197055220 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '2.0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70147448524120
57
+ version_requirements: *70172197055220
58
58
  description: Background jobs on RabbitMQ
59
59
  email:
60
60
  - lazureykis@gmail.com