monitored_process 0.0.4 → 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/monitored_process_install/monitored_process_install_generator.rb +5 -0
- data/lib/generators/monitored_process_install/templates/monitored_process_mailer.rb +23 -0
- data/lib/generators/monitored_process_install/templates/process_execution_result_email.html.erb +18 -0
- data/lib/monitored_process/version.rb +1 -1
- data/lib/monitored_process.rb +1 -1
- data/test/dummy/app/mailers/monitored_process_mailer.rb +23 -0
- data/test/dummy/app/views/monitored_process_mailer/process_execution_result_email.html.erb +18 -0
- data/test/dummy/config/environments/development.rb +3 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/{20150603215041_create_monitored_processes.rb → 20150604200359_create_monitored_processes.rb} +0 -0
- data/test/dummy/log/development.log +52 -0
- metadata +10 -6
- data/test/dummy/db/migrate/create_monitored_processes.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81a7b19cb2168d06393f937a858672b3a767129e
|
4
|
+
data.tar.gz: d562ef84ae8871341b74b021821f91d7648c8826
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8efd1b7987469750dadf9ffd4808c976709354dee3a4a323792f98a0d95937389186e5434a4d2a1795a1631d1006ddebc8a18aca3819f7991d344adc603c94b
|
7
|
+
data.tar.gz: 2a60464efb7d660b3ea72930b55e2cf0c825f8d063126e5b306d747e0f68fc193bf4454d4acb64797f778c9a10c5352408aa15ddfca52df769a84595b1113814
|
@@ -9,6 +9,11 @@ class MonitoredProcessInstallGenerator < Rails::Generators::Base
|
|
9
9
|
migration_template 'create_monitored_processes.rb', 'db/migrate/create_monitored_processes.rb'
|
10
10
|
end
|
11
11
|
|
12
|
+
def copy_mailer_templates
|
13
|
+
copy_file 'monitored_process_mailer.rb', 'app/mailers/monitored_process_mailer.rb'
|
14
|
+
copy_file 'process_execution_result_email.html.erb', 'app/views/monitored_process_mailer/process_execution_result_email.html.erb'
|
15
|
+
end
|
16
|
+
|
12
17
|
def self.next_migration_number(dirname)
|
13
18
|
::ActiveRecord::Generators::Base.next_migration_number(dirname)
|
14
19
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class MonitoredProcessMailer < ActionMailer::Base
|
2
|
+
default from: Rails.application.config.monitored_processes_email_from
|
3
|
+
|
4
|
+
def process_execution_result_email(monitored_process)
|
5
|
+
return if Rails.application.config.monitored_processes_notificacion_emails.blank? or monitored_process.blank?
|
6
|
+
|
7
|
+
email_to = Rails.application.config.monitored_processes_notificacion_emails
|
8
|
+
subject = "[#{Rails.env}] - #{monitored_process.name} - "
|
9
|
+
case monitored_process.state
|
10
|
+
when MonitoredProcess::Base::STATE[:running]
|
11
|
+
subject += "Is running"
|
12
|
+
when MonitoredProcess::Base::STATE[:finished]
|
13
|
+
subject += "Finished correcly!"
|
14
|
+
when MonitoredProcess::Base::STATE[:finished_with_errors]
|
15
|
+
subject += "Finished with some errors :("
|
16
|
+
end
|
17
|
+
|
18
|
+
@monitored_process = monitored_process
|
19
|
+
|
20
|
+
mail(to: email_to, subject: subject)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
data/lib/generators/monitored_process_install/templates/process_execution_result_email.html.erb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>Hello,</h1>
|
8
|
+
|
9
|
+
<p>This automated mail is being sent to inform you on the <%= @monitored_process.name %> process.</p>
|
10
|
+
|
11
|
+
<p><strong>Process status:</strong> <%= MonitoredProcess::Base.translate_state(@monitored_process.state) %></p>
|
12
|
+
<p><strong>Output:</strong> <%= @monitored_process.console_output.gsub("\n", "<br />").html_safe %></p>
|
13
|
+
<% if !@monitored_process.error_description.blank? then %>
|
14
|
+
<p><strong>Errors:</strong> <%= @monitored_process.error_description %></p>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
</body>
|
18
|
+
</html>
|
data/lib/monitored_process.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
class MonitoredProcessMailer < ActionMailer::Base
|
2
|
+
default from: Rails.application.config.monitored_processes_email_from
|
3
|
+
|
4
|
+
def process_execution_result_email(monitored_process)
|
5
|
+
return if Rails.application.config.monitored_processes_notificacion_emails.blank? or monitored_process.blank?
|
6
|
+
|
7
|
+
email_to = Rails.application.config.monitored_processes_notificacion_emails
|
8
|
+
subject = "[#{Rails.env}] - #{monitored_process.name} - "
|
9
|
+
case monitored_process.state
|
10
|
+
when MonitoredProcess::Base::STATE[:running]
|
11
|
+
subject += "Is running"
|
12
|
+
when MonitoredProcess::Base::STATE[:finished]
|
13
|
+
subject += "Finished correcly!"
|
14
|
+
when MonitoredProcess::Base::STATE[:finished_with_errors]
|
15
|
+
subject += "Finished with some errors :("
|
16
|
+
end
|
17
|
+
|
18
|
+
@monitored_process = monitored_process
|
19
|
+
|
20
|
+
mail(to: email_to, subject: subject)
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<h1>Hello,</h1>
|
8
|
+
|
9
|
+
<p>This automated mail is being sent to inform you on the <%= @monitored_process.name %> process.</p>
|
10
|
+
|
11
|
+
<p><strong>Process status:</strong> <%= MonitoredProcess::Base.translate_state(@monitored_process.state) %></p>
|
12
|
+
<p><strong>Output:</strong> <%= @monitored_process.console_output.gsub("\n", "<br />").html_safe %></p>
|
13
|
+
<% if !@monitored_process.error_description.blank? then %>
|
14
|
+
<p><strong>Errors:</strong> <%= @monitored_process.error_description %></p>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -38,4 +38,7 @@ Rails.application.configure do
|
|
38
38
|
|
39
39
|
# Raises error for missing translations
|
40
40
|
# config.action_view.raise_on_missing_translations = true
|
41
|
+
|
42
|
+
config.monitored_processes_email_from = 'jmvallejo@gmail.com'
|
43
|
+
config.monitored_processes_notificacion_emails = 'jmvallejo@gmail.com'
|
41
44
|
end
|
Binary file
|
File without changes
|
@@ -11,3 +11,55 @@ DEPRECATION WARNING: `#timestamp` was called without specifying an option for `n
|
|
11
11
|
[1m[35mSQL (0.2ms)[0m INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20150603215041"]]
|
12
12
|
[1m[36m (0.8ms)[0m [1mcommit transaction[0m
|
13
13
|
[1m[35mActiveRecord::SchemaMigration Load (0.1ms)[0m SELECT "schema_migrations".* FROM "schema_migrations"
|
14
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
15
|
+
Migrating to CreateMonitoredProcesses (20150604200359)
|
16
|
+
[1m[35m (0.1ms)[0m begin transaction
|
17
|
+
DEPRECATION WARNING: `#timestamp` was called without specifying an option for `null`. In Rails 5, this behavior will change to `null: false`. You should manually specify `null: true` to prevent the behavior of your existing migrations from changing. (called from block in change at /Users/juanmvallejo/Projects/gems/monitored_process/test/dummy/db/migrate/20150604200359_create_monitored_processes.rb:12)
|
18
|
+
[1m[36m (0.1ms)[0m [1mCREATE TABLE "monitored_processes" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "state" integer, "pid" integer, "elapsed_seconds" integer, "elapsed_time" varchar, "console_output" text, "error_description" text, "created_at" datetime, "updated_at" datetime) [0m
|
19
|
+
SQLite3::SQLException: table "monitored_processes" already exists: CREATE TABLE "monitored_processes" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "state" integer, "pid" integer, "elapsed_seconds" integer, "elapsed_time" varchar, "console_output" text, "error_description" text, "created_at" datetime, "updated_at" datetime)
|
20
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
21
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
22
|
+
[1m[35mSQL (1.1ms)[0m INSERT INTO "monitored_processes" ("name", "state", "pid", "console_output", "created_at", "updated_at") VALUES (?, ?, ?, ?, ?, ?) [["name", "MonitoredProcess::Base"], ["state", 1], ["pid", 21618], ["console_output", ""], ["created_at", "2015-06-04 20:08:40.092746"], ["updated_at", "2015-06-04 20:08:40.092746"]]
|
23
|
+
[1m[36m (0.7ms)[0m [1mcommit transaction[0m
|
24
|
+
[1m[35m (0.1ms)[0m begin transaction
|
25
|
+
[1m[36mSQL (0.4ms)[0m [1mUPDATE "monitored_processes" SET "state" = ?, "elapsed_seconds" = ?, "elapsed_time" = ?, "updated_at" = ? WHERE "monitored_processes"."id" = ?[0m [["state", 2], ["elapsed_seconds", 5], ["elapsed_time", "00:00:05"], ["updated_at", "2015-06-04 20:08:45.889482"], ["id", 1]]
|
26
|
+
[1m[35m (0.6ms)[0m commit transaction
|
27
|
+
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from send_status_email at /Users/juanmvallejo/Projects/gems/monitored_process/lib/monitored_process.rb:102)
|
28
|
+
|
29
|
+
MonitoredProcessMailer#process_execution_result_email: processed outbound mail in 0.7ms
|
30
|
+
[1m[36mMonitoredProcess::Base Load (0.2ms)[0m [1mSELECT "monitored_processes".* FROM "monitored_processes" ORDER BY "monitored_processes"."id" ASC LIMIT 1[0m
|
31
|
+
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from send_status_email at /Users/juanmvallejo/Projects/gems/monitored_process/lib/monitored_process.rb:102)
|
32
|
+
|
33
|
+
MonitoredProcessMailer#process_execution_result_email: processed outbound mail in 0.9ms
|
34
|
+
[1m[36mMonitoredProcess::Base Load (0.2ms)[0m [1mSELECT "monitored_processes".* FROM "monitored_processes" ORDER BY "monitored_processes"."id" ASC LIMIT 1[0m
|
35
|
+
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from send_status_email at /Users/juanmvallejo/Projects/gems/monitored_process/lib/monitored_process.rb:102)
|
36
|
+
Rendered monitored_process_mailer/process_execution_result_email.html.erb (2.0ms)
|
37
|
+
|
38
|
+
MonitoredProcessMailer#process_execution_result_email: processed outbound mail in 200.6ms
|
39
|
+
|
40
|
+
Sent mail to jmvallejo@gmail.com (8.7ms)
|
41
|
+
Date: Thu, 04 Jun 2015 15:11:48 -0500
|
42
|
+
From: jmvallejo@gmail.com
|
43
|
+
To: jmvallejo@gmail.com
|
44
|
+
Message-ID: <5570b104b52ec_547c3ff90205e6d8626de@Juans-MacBook-Pro.local.mail>
|
45
|
+
Subject: [development] - MonitoredProcess::Base - Finished correcly!
|
46
|
+
Mime-Version: 1.0
|
47
|
+
Content-Type: text/html;
|
48
|
+
charset=UTF-8
|
49
|
+
Content-Transfer-Encoding: 7bit
|
50
|
+
|
51
|
+
<!DOCTYPE html>
|
52
|
+
<html>
|
53
|
+
<head>
|
54
|
+
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
|
55
|
+
</head>
|
56
|
+
<body>
|
57
|
+
<h1>Hello,</h1>
|
58
|
+
|
59
|
+
<p>This automated mail is being sent to inform you on the MonitoredProcess::Base process.</p>
|
60
|
+
|
61
|
+
<p><strong>Process status:</strong> Finished</p>
|
62
|
+
<p><strong>Output:</strong> </p>
|
63
|
+
|
64
|
+
</body>
|
65
|
+
</html>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: monitored_process
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Manuel Vallejo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -52,6 +52,8 @@ files:
|
|
52
52
|
- lib/generators/monitored_process_install/USAGE
|
53
53
|
- lib/generators/monitored_process_install/monitored_process_install_generator.rb
|
54
54
|
- lib/generators/monitored_process_install/templates/create_monitored_processes.rb
|
55
|
+
- lib/generators/monitored_process_install/templates/monitored_process_mailer.rb
|
56
|
+
- lib/generators/monitored_process_install/templates/process_execution_result_email.html.erb
|
55
57
|
- lib/monitored_process.rb
|
56
58
|
- lib/monitored_process/version.rb
|
57
59
|
- lib/tasks/monitored_process_tasks.rake
|
@@ -61,7 +63,9 @@ files:
|
|
61
63
|
- test/dummy/app/assets/stylesheets/application.css
|
62
64
|
- test/dummy/app/controllers/application_controller.rb
|
63
65
|
- test/dummy/app/helpers/application_helper.rb
|
66
|
+
- test/dummy/app/mailers/monitored_process_mailer.rb
|
64
67
|
- test/dummy/app/views/layouts/application.html.erb
|
68
|
+
- test/dummy/app/views/monitored_process_mailer/process_execution_result_email.html.erb
|
65
69
|
- test/dummy/bin/bundle
|
66
70
|
- test/dummy/bin/rails
|
67
71
|
- test/dummy/bin/rake
|
@@ -86,8 +90,7 @@ files:
|
|
86
90
|
- test/dummy/config/routes.rb
|
87
91
|
- test/dummy/config/secrets.yml
|
88
92
|
- test/dummy/db/development.sqlite3
|
89
|
-
- test/dummy/db/migrate/
|
90
|
-
- test/dummy/db/migrate/create_monitored_processes.rb
|
93
|
+
- test/dummy/db/migrate/20150604200359_create_monitored_processes.rb
|
91
94
|
- test/dummy/db/schema.rb
|
92
95
|
- test/dummy/db/test.sqlite3
|
93
96
|
- test/dummy/log/development.log
|
@@ -128,7 +131,9 @@ test_files:
|
|
128
131
|
- test/dummy/app/assets/stylesheets/application.css
|
129
132
|
- test/dummy/app/controllers/application_controller.rb
|
130
133
|
- test/dummy/app/helpers/application_helper.rb
|
134
|
+
- test/dummy/app/mailers/monitored_process_mailer.rb
|
131
135
|
- test/dummy/app/views/layouts/application.html.erb
|
136
|
+
- test/dummy/app/views/monitored_process_mailer/process_execution_result_email.html.erb
|
132
137
|
- test/dummy/bin/bundle
|
133
138
|
- test/dummy/bin/rails
|
134
139
|
- test/dummy/bin/rake
|
@@ -153,8 +158,7 @@ test_files:
|
|
153
158
|
- test/dummy/config/secrets.yml
|
154
159
|
- test/dummy/config.ru
|
155
160
|
- test/dummy/db/development.sqlite3
|
156
|
-
- test/dummy/db/migrate/
|
157
|
-
- test/dummy/db/migrate/create_monitored_processes.rb
|
161
|
+
- test/dummy/db/migrate/20150604200359_create_monitored_processes.rb
|
158
162
|
- test/dummy/db/schema.rb
|
159
163
|
- test/dummy/db/test.sqlite3
|
160
164
|
- test/dummy/log/development.log
|
@@ -1,15 +0,0 @@
|
|
1
|
-
class CreateMonitoredProcess1s < ActiveRecord::Migration
|
2
|
-
def change
|
3
|
-
create_table :monitored_processes do |t|
|
4
|
-
t.string :name
|
5
|
-
t.integer :state
|
6
|
-
t.integer :pid
|
7
|
-
t.integer :elapsed_seconds
|
8
|
-
t.string :elapsed_time
|
9
|
-
t.text :console_output
|
10
|
-
t.text :error_description
|
11
|
-
|
12
|
-
t.timestamps
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|