delayed_job_restart 0.0.0
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/lib/delayed_job_restart.rb +49 -0
- metadata +45 -0
@@ -0,0 +1,49 @@
|
|
1
|
+
module DelayedJobRestart
|
2
|
+
|
3
|
+
module_function
|
4
|
+
|
5
|
+
def self.hi
|
6
|
+
puts "Hello world!"
|
7
|
+
end
|
8
|
+
|
9
|
+
def delayed_job_stop_alert
|
10
|
+
file_path = "#{Rails.root}/tmp/pids/delayed_job.pid"
|
11
|
+
if file_exist_status?(file_path)
|
12
|
+
dj_id = get_file_content(file_path).to_i
|
13
|
+
unless process_running_status?(dj_id)
|
14
|
+
send_delayed_job_stop_alert
|
15
|
+
start_delayed_job
|
16
|
+
end
|
17
|
+
else
|
18
|
+
send_delayed_job_stop_alert
|
19
|
+
start_delayed_job
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def file_exist_status?(file_path)
|
24
|
+
File.exist?(file_path)
|
25
|
+
end
|
26
|
+
|
27
|
+
def get_file_content(file_path)
|
28
|
+
File.read(file_path).strip
|
29
|
+
end
|
30
|
+
|
31
|
+
def process_running_status?(id)
|
32
|
+
begin
|
33
|
+
Process.getpgid(id.to_i)
|
34
|
+
true
|
35
|
+
rescue
|
36
|
+
false
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def send_delayed_job_stop_alert
|
41
|
+
Settings.delayed_job_alert_recipients.each do |recipient|
|
42
|
+
ActionMailer::Base.mail(to: recipient.to_s, subject: "Delayed Job restart alert", body: "Delayed Job was stopped and it was restarted. Please check.",from: recipient.to_s, reply_to: recipient.to_s).deliver!
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def start_delayed_job
|
47
|
+
`ruby script/delayed_job start RAILS_ENV=#{Rails.env}`
|
48
|
+
end
|
49
|
+
end
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: delayed_job_restart
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Hemanth M
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-02-22 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: A gem to restart delayed job.
|
15
|
+
email: hemanthgowda91@gmail.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/delayed_job_restart.rb
|
21
|
+
homepage:
|
22
|
+
licenses: []
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 1.8.24
|
42
|
+
signing_key:
|
43
|
+
specification_version: 3
|
44
|
+
summary: A gem to restart delayed job.
|
45
|
+
test_files: []
|