rabbit_jobs 0.2.0.pre1 → 0.2.0.pre2

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.
@@ -14,6 +14,7 @@ module RabbitJobs
14
14
  yield false
15
15
  else
16
16
  AMQP.start(RJ.config.url) {
17
+ AmqpHelper.init_auto_recovery
17
18
  yield true
18
19
  }
19
20
  end
@@ -29,6 +30,19 @@ module RabbitJobs
29
30
 
30
31
  private
31
32
 
33
+ def init_auto_recovery
34
+ AMQP.connection.on_recovery do |conn, opts|
35
+ url = url_from_opts opts
36
+ RJ.logger.warn "[network failure] Connection to #{url} established."
37
+ end
38
+
39
+ AMQP.connection.on_tcp_connection_loss do |conn, opts|
40
+ url = url_from_opts opts
41
+ RJ.logger.warn "[network failure] Trying to reconnect to #{url}..."
42
+ conn.reconnect(false, 2)
43
+ end
44
+ end
45
+
32
46
  def url_from_opts(opts = {})
33
47
  s = ""
34
48
  s << opts[:scheme]
@@ -41,16 +55,6 @@ module RabbitJobs
41
55
 
42
56
  def create_channel
43
57
  AMQP.channel = AMQP::Channel.new(AMQP.connection, auto_recovery: true)
44
-
45
- AMQP.connection.on_recovery do |conn, opts|
46
- url = url_from_opts opts
47
- RJ.logger.warn "[network failure] Connection to #{url} established."
48
- end
49
- AMQP.connection.on_tcp_connection_loss do |conn, opts|
50
- url = url_from_opts opts
51
- RJ.logger.warn "[network failure] Trying to reconnect to #{url}..."
52
- conn.reconnect(false, 2)
53
- end
54
58
  end
55
59
  end
56
60
  end
@@ -66,6 +66,7 @@ module RabbitJobs
66
66
  RJ.publish_to(queue, klass_name, *params)
67
67
  rescue
68
68
  RJ.logger.warn "Failed to publish #{klass_name}:\n #{$!}\n params = #{params.inspect}"
69
+ RJ.logger.warn $!.inspect
69
70
  end
70
71
 
71
72
  def rufus_scheduler
@@ -87,19 +88,14 @@ module RabbitJobs
87
88
  $0 = self.process_name || "rj_scheduler"
88
89
 
89
90
  processed_count = 0
90
- AmqpHelper.with_amqp do |connection, stop_em|
91
- channel = AMQP::Channel.new(connection)
92
-
93
- channel.on_error do |ch, channel_close|
94
- puts "Channel-level error: #{channel_close.reply_text}, shutting down..."
95
- connection.disconnect { EM.stop }
96
- end
91
+ AmqpHelper.with_amqp do |stop_em|
92
+ AmqpHelper.prepare_channel
97
93
 
98
94
  load_schedule!
99
95
 
100
96
  check_shutdown = Proc.new {
101
97
  if @shutdown
102
- connection.close {
98
+ AMQP::connection.disconnect {
103
99
  File.delete(self.pidfile) if self.pidfile
104
100
  EM.stop { exit! }
105
101
  }
@@ -1,3 +1,3 @@
1
1
  module RabbitJobs
2
- VERSION = "0.2.0.pre1"
2
+ VERSION = "0.2.0.pre2"
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.2.0.pre1
4
+ version: 0.2.0.pre2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -113,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
113
  version: '0'
114
114
  segments:
115
115
  - 0
116
- hash: -1227131973983864781
116
+ hash: 1731730238490363381
117
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements: