module DelayedJobStatus

Attributes

configuration[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/delayed_job_status.rb, line 16
def self.configure
  yield(configuration)
end
generateCode() click to toggle source
# File lib/delayed_job_status.rb, line 21
def self.generateCode
        o = [('a'..'z'), ('A'..'Z')].map(&:to_a).flatten
        string = (0...50).map { o[rand(o.length)] }.join
        return string
end
generateMessage() click to toggle source
# File lib/delayed_job_status.rb, line 27
def self.generateMessage
        code = generateCode
        website = getWebsiteinfo

        message_before = {server: website[:server], website: website[:website], workers: website[:workers], code: code}.to_json
        message_after = {server: website[:server], website: website[:website], workers: website[:workers], code: code}.to_json

        sendMessage(message_before)

        self.delay(priority: -200).sendMessage(message_after)
end
getWebsiteinfo() click to toggle source
# File lib/delayed_job_status.rb, line 50
def self.getWebsiteinfo
        file = File.open("#{Rails.root}/config/deploy.rb")
        filetext = file.read
        num = filetext.split('delayed_job_workers,').last.strip().split("\n").first.strip
        website = filetext.split("application,").last.strip.split("\n").first.strip.gsub('"', '')
        return {workers: num, website: website, server: Socket.gethostname}
end
reset() click to toggle source
# File lib/delayed_job_status.rb, line 12
def self.reset
  @configuration = Configuration.new
end
sendMessage(m) click to toggle source
# File lib/delayed_job_status.rb, line 39
def self.sendMessage(m)
        uri = URI.parse(@configuration.url)
        http = Net::HTTP.new(uri.host, uri.port)
        http.use_ssl = true

        request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'})
        request.body = m

        response = http.request(request)
end