delayed_job_monitor 0.0.2 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,7 @@
1
- require 'sinatra'
2
1
  require 'sinatra/base'
2
+ require 'active_support'
3
+ require 'active_record'
4
+ require 'delayed_job'
3
5
  require 'haml'
4
6
 
5
7
  module DelayedJobMonitor
@@ -13,9 +15,12 @@ module DelayedJobMonitor
13
15
 
14
16
  def delayed_job
15
17
  begin
16
- DelayedJobMonitor::Job
18
+ if DelayedJobMonitor.connected?
19
+ DelayedJobMonitor::Job
20
+ else
21
+ nil
22
+ end
17
23
  rescue
18
- false
19
24
  end
20
25
  end
21
26
 
@@ -1,31 +1,5 @@
1
- #delayed_job_monitor.establish_connection
2
-
3
1
  module DelayedJobMonitor
4
2
  class Job < ActiveRecord::Base
5
3
  self.table_name = "delayed_jobs"
6
-
7
- def self.queues
8
- @queues = delayed_job_monitor::Job.select(:queue).map(&:queue).compact.uniq.sort
9
- return @queues
10
- end
11
-
12
- def host
13
- unless DelayedJobMonitor[:database]["host"].blank?
14
- return DelayedJobMonitor[:database]["host"]
15
- else
16
- return "localhost"
17
- end
18
- end
19
-
20
- def description
21
- details = {}
22
- parsed_handler = self.handler.split(/\n/)
23
- parsed_handler.map{|x| details[x.split(":")[0].strip.split(/\//).last] = x.split(/\:|\/|\s/).last.strip unless x.blank?}
24
- target_class = details["ActiveRecord"]
25
- target_id = details["id"].to_s.gsub(/\W/,"").to_i if details["id"].present?
26
- performable_class = details["object"] if details["object"].present?
27
- performable_method = details["method_name"] if details["method_name"].present?
28
- return "Perform #{performable_class}:#{performable_method} on #{target_class}##{target_id}"
29
- end
30
4
  end
31
5
  end
@@ -6,6 +6,7 @@ module DelayedJobMonitor
6
6
  @@instance_collector = []
7
7
  def initialize(name="default",host="localhost",rails_path=nil,username=nil,password=nil)
8
8
  unless host == "localhost"
9
+ p host
9
10
  @connection = Net::SSH.start(host,username,:password=>password)
10
11
  @username = username
11
12
  else
@@ -1,3 +1,3 @@
1
1
  module DelayedJobMonitor
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -20,7 +20,7 @@ module DelayedJobMonitor
20
20
  def self.establish_connection
21
21
  begin
22
22
  if DelayedJobMonitor[:database]["host"].nil?
23
- raise "No database connection defined in config.yml"
23
+ p "No database connection defined in config.yml"
24
24
  else
25
25
  if defined? connection
26
26
  p "There is already a DB connection locally...closing"
@@ -34,7 +34,7 @@ module DelayedJobMonitor
34
34
  return connection
35
35
  end
36
36
  rescue
37
- raise "ERROR: Could not connect to the Delayed::Job database. REASON: #{$!}. Please check your configuration settings."
37
+ raise true
38
38
  end
39
39
  end
40
40
 
@@ -47,22 +47,40 @@ module DelayedJobMonitor
47
47
  end
48
48
  end
49
49
 
50
+ def self.connected?
51
+ if defined? DelayedJobMonitor.connection
52
+ return true
53
+ else
54
+ return false
55
+ end
56
+ end
57
+
50
58
  def self.stand_alone_mode?
51
59
  !ENV["RAILS_ENV"].present?
52
60
  end
53
61
 
54
62
  def self.initialize_servers
55
- DelayedJobMonitor[:hosts].each do |host|
56
- DelayedJobMonitor::Server.new(host["name"],host["host"],host["rails_path"],host["username"],host["password"])
57
- end
58
- if delayed_job_running_locally?
63
+ unless DelayedJobMonitor[:hosts].first["host"].nil?
64
+
65
+ DelayedJobMonitor[:hosts].each do |host|
66
+ DelayedJobMonitor::Server.new(host["name"],host["host"],host["rails_path"],host["username"],host["password"])
67
+ end
68
+
69
+ if delayed_job_running_locally?
70
+ DelayedJobMonitor::Server.new
71
+ end
72
+
73
+ return DelayedJobMonitor::Server.servers
74
+ else
59
75
  DelayedJobMonitor::Server.new
76
+ p "No hosts configured. Connecting to localhost"
60
77
  end
61
- return DelayedJobMonitor::Server.servers
62
78
  end
63
79
 
64
80
  def self.start!
65
- DelayedJobMonitor.establish_connection
81
+ if stand_alone_mode? && !connected?
82
+ DelayedJobMonitor.establish_connection
83
+ end
66
84
  DelayedJobMonitor.initialize_servers
67
85
  DelayedJobMonitor::App.run!
68
86
  end
@@ -79,6 +97,4 @@ if DelayedJobMonitor.stand_alone_mode?
79
97
  return nil
80
98
  end
81
99
  end
82
- end
83
-
84
- DelayedJobMonitor.establish_connection
100
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: