Move asynchron delivery job to default Rails directory
This commit is contained in:
25
app/jobs/messenger_deliver_job.rb
Normal file
25
app/jobs/messenger_deliver_job.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'net/http'
|
||||
require 'uri'
|
||||
|
||||
class MessengerDeliverJob < ActiveJob::Base
|
||||
queue_as :default
|
||||
|
||||
def perform(url, params)
|
||||
uri = URI url
|
||||
http_options = { use_ssl: uri.scheme == 'https' }
|
||||
http_options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE unless RedmineMessenger.setting? :messenger_verify_ssl
|
||||
begin
|
||||
req = Net::HTTP::Post.new uri
|
||||
req.set_form_data payload: params.to_json
|
||||
Net::HTTP.start uri.hostname, uri.port, http_options do |http|
|
||||
response = http.request req
|
||||
Rails.logger.warn response.inspect unless [Net::HTTPSuccess, Net::HTTPRedirection, Net::HTTPOK].include? response
|
||||
end
|
||||
rescue StandardError => e
|
||||
Rails.logger.warn "cannot connect to #{url}"
|
||||
Rails.logger.warn e
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,8 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require 'net/http'
|
||||
require 'uri'
|
||||
|
||||
class Messenger
|
||||
include Redmine::I18n
|
||||
|
||||
@@ -48,7 +45,7 @@ class Messenger
|
||||
|
||||
channels.each do |channel|
|
||||
params[:channel] = channel
|
||||
DeliverMessageJob.perform_later url, params
|
||||
MessengerDeliverJob.perform_later url, params
|
||||
end
|
||||
end
|
||||
|
||||
@@ -291,25 +288,4 @@ class Messenger
|
||||
[]
|
||||
end
|
||||
end
|
||||
|
||||
class DeliverMessageJob < ActiveJob::Base
|
||||
queue_as :default
|
||||
|
||||
def perform(url, params)
|
||||
uri = URI url
|
||||
http_options = { use_ssl: uri.scheme == 'https' }
|
||||
http_options[:verify_mode] = OpenSSL::SSL::VERIFY_NONE unless RedmineMessenger.setting? :messenger_verify_ssl
|
||||
begin
|
||||
req = Net::HTTP::Post.new uri
|
||||
req.set_form_data payload: params.to_json
|
||||
Net::HTTP.start uri.hostname, uri.port, http_options do |http|
|
||||
response = http.request req
|
||||
Rails.logger.warn response.inspect unless [Net::HTTPSuccess, Net::HTTPRedirection, Net::HTTPOK].include? response
|
||||
end
|
||||
rescue StandardError => e
|
||||
Rails.logger.warn "cannot connect to #{url}"
|
||||
Rails.logger.warn e
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user