resque-aps 0.9.0 → 0.9.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.
- data/HISTORY.md +4 -0
- data/lib/resque_aps/application.rb +16 -15
- data/lib/resque_aps/version.rb +1 -1
- metadata +2 -2
data/HISTORY.md
CHANGED
@@ -33,8 +33,8 @@ module ResqueAps
|
|
33
33
|
socket.write(n.formatted)
|
34
34
|
app.after_aps_write n
|
35
35
|
rescue
|
36
|
-
logger.error application_exception(
|
37
|
-
app.failed_aps_write n
|
36
|
+
logger.error Application.application_exception($!, name) if logger
|
37
|
+
app.failed_aps_write n, $!
|
38
38
|
end
|
39
39
|
count += 1
|
40
40
|
end
|
@@ -45,9 +45,7 @@ module ResqueAps
|
|
45
45
|
#
|
46
46
|
# Create the TCP and SSL sockets for sending the notification
|
47
47
|
#
|
48
|
-
def self.create_sockets(
|
49
|
-
cert = File.read(cert_file)
|
50
|
-
|
48
|
+
def self.create_sockets(cert, passphrase, host, port)
|
51
49
|
ctx = OpenSSL::SSL::SSLContext.new
|
52
50
|
ctx.key = OpenSSL::PKey::RSA.new(cert, passphrase)
|
53
51
|
ctx.cert = OpenSSL::X509::Certificate.new(cert)
|
@@ -80,23 +78,32 @@ module ResqueAps
|
|
80
78
|
end
|
81
79
|
end
|
82
80
|
|
81
|
+
def self.application_exception(exception, name)
|
82
|
+
exc = Exception.new("#{exception} (#{name})")
|
83
|
+
exc.set_backtrace(exception.backtrace)
|
84
|
+
return exc
|
85
|
+
end
|
86
|
+
|
83
87
|
def initialize(attributes)
|
84
88
|
attributes.each do |k, v|
|
85
89
|
respond_to?(:"#{k}=") ? send(:"#{k}=", v) : raise(ResqueAps::UnknownAttributeError, "unknown attribute: #{k}")
|
86
90
|
end
|
87
91
|
end
|
88
92
|
|
89
|
-
def socket(&block)
|
93
|
+
def socket(cert = nil, certp = nil, host = nil, port = nil, &block)
|
90
94
|
logger.debug("resque-aps: ssl_socket(#{name})") if logger
|
91
95
|
exc = nil
|
92
96
|
|
93
|
-
socket, ssl_socket = Application.create_sockets(
|
97
|
+
socket, ssl_socket = Application.create_sockets(cert || File.read(cert_file),
|
98
|
+
certp || cert_passwd,
|
99
|
+
host || Resque.aps_gateway_host,
|
100
|
+
port || Resque.aps_gateway_port)
|
94
101
|
|
95
102
|
begin
|
96
103
|
ssl_socket.connect
|
97
104
|
yield ssl_socket, self if block_given?
|
98
105
|
rescue
|
99
|
-
exc = application_exception(
|
106
|
+
exc = Application.application_exception($!, name)
|
100
107
|
if $! =~ /^SSL_connect .* certificate (expired|revoked)/
|
101
108
|
notify_aps_admin exc
|
102
109
|
end
|
@@ -108,12 +115,6 @@ module ResqueAps
|
|
108
115
|
exc
|
109
116
|
end
|
110
117
|
|
111
|
-
def application_exception(exception)
|
112
|
-
exc = Exception.new("#{exception} (#{name})")
|
113
|
-
exc.set_backtrace(exception.backtrace)
|
114
|
-
return exc
|
115
|
-
end
|
116
|
-
|
117
118
|
def to_hash
|
118
119
|
{'name' => name, 'cert_file' => cert_file, 'cert_passwd' => cert_passwd}
|
119
120
|
end
|
@@ -128,7 +129,7 @@ module ResqueAps
|
|
128
129
|
def after_aps_write(notification)
|
129
130
|
end
|
130
131
|
|
131
|
-
def failed_aps_write(notification)
|
132
|
+
def failed_aps_write(notification, exception)
|
132
133
|
end
|
133
134
|
|
134
135
|
def notify_aps_admin(exception)
|
data/lib/resque_aps/version.rb
CHANGED