resurrected_god 0.14.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/History.md +559 -0
  3. data/README.md +9 -4
  4. data/bin/god +26 -28
  5. data/ext/god/extconf.rb +9 -9
  6. data/lib/god/behavior.rb +3 -5
  7. data/lib/god/behaviors/clean_pid_file.rb +4 -6
  8. data/lib/god/behaviors/clean_unix_socket.rb +4 -6
  9. data/lib/god/behaviors/notify_when_flapping.rb +13 -15
  10. data/lib/god/cli/command.rb +109 -89
  11. data/lib/god/cli/run.rb +51 -75
  12. data/lib/god/cli/version.rb +2 -4
  13. data/lib/god/condition.rb +12 -14
  14. data/lib/god/conditions/always.rb +3 -2
  15. data/lib/god/conditions/complex.rb +23 -24
  16. data/lib/god/conditions/cpu_usage.rb +12 -16
  17. data/lib/god/conditions/degrading_lambda.rb +15 -19
  18. data/lib/god/conditions/disk_usage.rb +7 -8
  19. data/lib/god/conditions/file_mtime.rb +3 -7
  20. data/lib/god/conditions/file_touched.rb +4 -5
  21. data/lib/god/conditions/flapping.rb +57 -62
  22. data/lib/god/conditions/http_response_code.rb +27 -32
  23. data/lib/god/conditions/lambda.rb +3 -5
  24. data/lib/god/conditions/memory_usage.rb +12 -16
  25. data/lib/god/conditions/process_exits.rb +12 -12
  26. data/lib/god/conditions/process_running.rb +8 -10
  27. data/lib/god/conditions/socket_responding.rb +23 -28
  28. data/lib/god/conditions/tries.rb +12 -14
  29. data/lib/god/configurable.rb +7 -10
  30. data/lib/god/contact.rb +41 -52
  31. data/lib/god/contacts/airbrake.rb +10 -12
  32. data/lib/god/contacts/campfire.rb +18 -20
  33. data/lib/god/contacts/email.rb +27 -28
  34. data/lib/god/contacts/prowl.rb +16 -17
  35. data/lib/god/contacts/scout.rb +2 -5
  36. data/lib/god/contacts/sensu.rb +15 -11
  37. data/lib/god/contacts/slack.rb +23 -33
  38. data/lib/god/contacts/statsd.rb +8 -8
  39. data/lib/god/contacts/twitter.rb +2 -2
  40. data/lib/god/contacts/webhook.rb +21 -24
  41. data/lib/god/driver.rb +12 -18
  42. data/lib/god/errors.rb +0 -2
  43. data/lib/god/event_handler.rb +40 -49
  44. data/lib/god/event_handlers/dummy_handler.rb +1 -1
  45. data/lib/god/event_handlers/kqueue_handler.rb +2 -2
  46. data/lib/god/event_handlers/netlink_handler.rb +1 -1
  47. data/lib/god/logger.rb +5 -13
  48. data/lib/god/metric.rb +13 -15
  49. data/lib/god/process.rb +93 -98
  50. data/lib/god/simple_logger.rb +13 -15
  51. data/lib/god/socket.rb +21 -23
  52. data/lib/god/sugar.rb +8 -8
  53. data/lib/god/sys_logger.rb +6 -8
  54. data/lib/god/system/portable_poller.rb +1 -9
  55. data/lib/god/system/process.rb +4 -6
  56. data/lib/god/system/slash_proc_poller.rb +17 -19
  57. data/lib/god/task.rb +110 -136
  58. data/lib/god/timeline.rb +2 -4
  59. data/lib/god/trigger.rb +7 -11
  60. data/lib/god/version.rb +1 -1
  61. data/lib/god/watch.rb +51 -57
  62. data/lib/god.rb +122 -148
  63. metadata +17 -370
  64. data/Announce.txt +0 -135
  65. data/Gemfile +0 -5
  66. data/Rakefile +0 -129
  67. data/doc/god.asciidoc +0 -1592
  68. data/doc/intro.asciidoc +0 -20
  69. data/ext/god/.gitignore +0 -5
  70. data/lib/god/compat19.rb +0 -33
  71. data/lib/god/contacts/hipchat.rb +0 -117
  72. data/lib/god/contacts/jabber.rb +0 -75
  73. data/test/configs/child_events/child_events.god +0 -44
  74. data/test/configs/child_events/simple_server.rb +0 -3
  75. data/test/configs/child_polls/child_polls.god +0 -37
  76. data/test/configs/child_polls/simple_server.rb +0 -12
  77. data/test/configs/complex/complex.god +0 -59
  78. data/test/configs/complex/simple_server.rb +0 -3
  79. data/test/configs/contact/contact.god +0 -118
  80. data/test/configs/contact/simple_server.rb +0 -3
  81. data/test/configs/daemon_events/daemon_events.god +0 -37
  82. data/test/configs/daemon_events/simple_server.rb +0 -8
  83. data/test/configs/daemon_events/simple_server_stop.rb +0 -11
  84. data/test/configs/daemon_polls/daemon_polls.god +0 -17
  85. data/test/configs/daemon_polls/simple_server.rb +0 -6
  86. data/test/configs/degrading_lambda/degrading_lambda.god +0 -31
  87. data/test/configs/degrading_lambda/tcp_server.rb +0 -15
  88. data/test/configs/keepalive/keepalive.god +0 -9
  89. data/test/configs/keepalive/keepalive.rb +0 -12
  90. data/test/configs/lifecycle/lifecycle.god +0 -25
  91. data/test/configs/matias/matias.god +0 -50
  92. data/test/configs/real.rb +0 -59
  93. data/test/configs/running_load/running_load.god +0 -16
  94. data/test/configs/stop_options/simple_server.rb +0 -12
  95. data/test/configs/stop_options/stop_options.god +0 -39
  96. data/test/configs/stress/simple_server.rb +0 -3
  97. data/test/configs/stress/stress.god +0 -15
  98. data/test/configs/task/logs/.placeholder +0 -0
  99. data/test/configs/task/task.god +0 -26
  100. data/test/configs/test.rb +0 -61
  101. data/test/configs/usr1_trapper.rb +0 -10
  102. data/test/helper.rb +0 -172
  103. data/test/suite.rb +0 -6
  104. data/test/test_airbrake.rb +0 -14
  105. data/test/test_behavior.rb +0 -18
  106. data/test/test_campfire.rb +0 -22
  107. data/test/test_condition.rb +0 -52
  108. data/test/test_conditions_disk_usage.rb +0 -50
  109. data/test/test_conditions_http_response_code.rb +0 -109
  110. data/test/test_conditions_process_running.rb +0 -40
  111. data/test/test_conditions_socket_responding.rb +0 -176
  112. data/test/test_conditions_tries.rb +0 -67
  113. data/test/test_contact.rb +0 -109
  114. data/test/test_driver.rb +0 -26
  115. data/test/test_email.rb +0 -34
  116. data/test/test_event_handler.rb +0 -82
  117. data/test/test_god.rb +0 -710
  118. data/test/test_god_system.rb +0 -201
  119. data/test/test_handlers_kqueue_handler.rb +0 -16
  120. data/test/test_hipchat.rb +0 -23
  121. data/test/test_jabber.rb +0 -29
  122. data/test/test_logger.rb +0 -55
  123. data/test/test_metric.rb +0 -74
  124. data/test/test_process.rb +0 -263
  125. data/test/test_prowl.rb +0 -15
  126. data/test/test_registry.rb +0 -15
  127. data/test/test_sensu.rb +0 -11
  128. data/test/test_slack.rb +0 -57
  129. data/test/test_socket.rb +0 -34
  130. data/test/test_statsd.rb +0 -22
  131. data/test/test_sugar.rb +0 -42
  132. data/test/test_system_portable_poller.rb +0 -17
  133. data/test/test_system_process.rb +0 -30
  134. data/test/test_task.rb +0 -246
  135. data/test/test_timeline.rb +0 -37
  136. data/test/test_trigger.rb +0 -63
  137. data/test/test_watch.rb +0 -286
  138. data/test/test_webhook.rb +0 -22
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4ce1786c5172707e108c78fe2453a8abe133cc9c72e03b680f8e5b4c7ba1724
4
- data.tar.gz: a16f22c77313029054a253c0b58097c5a72aa9243e20e7657123760aacb1eda5
3
+ metadata.gz: 8047b13920bf8a719d40a5bd30e305e61ba35dc4fbaf8485711d0e42033d0f81
4
+ data.tar.gz: 805b488b5ad867422752da4e6e6694060c1951459594df6015fd986e92560442
5
5
  SHA512:
6
- metadata.gz: 210782e580b7588fcd1c5aa229733aff5e6c4e1efe742989b72a3140a8fc271bb35cec71515ca74b15bb1dd23840a9f398e907fc234797a2955134f6f2a2bd0d
7
- data.tar.gz: 450f3038f899778da0443b753e5719b167fa5ceeb108bd27e707cd32d3311c0e6194972d18b8d30c412a2ca5629e14267ee6c8ba104e2a6d31773196b5df0727
6
+ metadata.gz: c30d5a5f22a6badea13a8cad1455f6494f431bae14037664e1d4dce04bdf0be19ff3b5b4369e5a9665101472eac07ca5229dbb614868414580f93387bb82ce52
7
+ data.tar.gz: edf6622f0d6aeb50678b55e3b3231e39f0f5bd1c1cc2f8d4f93d7a003b97b8cdd6f87f7b14aa574402a33fb90b53d3a704658d4b3b3bed79683b3826a5eb327b
data/History.md ADDED
@@ -0,0 +1,559 @@
1
+ ## 1.0.0 / 2022-06-22
2
+
3
+ * Major Changes
4
+ * Drop support for Ruby 2.5 and earlier
5
+ * Now Ruby 2.6+ is required.
6
+ * Drop support for HipChat
7
+ * HipChat has been out of service since February 2019.
8
+ * Drop support for Jabber
9
+ * Sending notices to Jabber requires `xmpp4r`, but this gem is not maintained.
10
+ (The last commit was made on 2014-12-03)
11
+ * `xmpp4r` prints numerous warnings and they are quite annoying.
12
+ * Minor Changes
13
+ * Expand `God.pid_file_directory` to the absolute path
14
+ * Now `~/.god/pids` is expanded to `/home/john/.god/pids`.
15
+ * Minor Enhancements
16
+ * Enable `frozen_string_literal` partially
17
+ * Reduce included files to reduce the gem file size
18
+ * Use Gemfile instead of `Gem::Specification#add_development_dependency`
19
+ * Migrate CI from Travis CI to GitHub Actions
20
+ * Improve test codes
21
+ * Introduce RuboCop
22
+ * Format codes with RuboCop
23
+ * Introduce CodeClimate to analyze code quality
24
+ * Introduce CodeCov to analyze test coverage
25
+
26
+ ## 0.14.0 / 2022-03-06
27
+
28
+ * Major Changes
29
+ * Renamed to ResurrectedGod (resurrected_god)
30
+ * Minor Enhancements
31
+ * Change the format of History to Markdown
32
+ * Added `god/version.rb` to make version control easier
33
+
34
+ ## 0.13.8 / unreleased
35
+
36
+ * Bug fixes
37
+ * Replace `Object#timeout` with `Timeout.timeout` to support Ruby 3.0
38
+
39
+ ## 0.13.7 / 2015-08-19
40
+
41
+ * Bug fixes
42
+ * Fixed slack integration (#217)
43
+ * Update twitter gem to support newer rubies (#219)
44
+ * Make stop_all work with newer rubies (#209)
45
+ * Don't start more DRb servers than necessary
46
+ * Minor Enhancements
47
+ * Allow uid and gid to be specified as an integer (#202)
48
+
49
+ ## 0.13.6 / 2015-02-21
50
+
51
+ * Minor Enhancements
52
+ * sensu notifier (#199)
53
+
54
+ ## 0.13.5 / 2015-01-09
55
+
56
+ * Minor Enhancements
57
+ * statsd notifier (#144)
58
+ * Slack notifier (#172)
59
+ * Bug fixes
60
+ * Add support for Ruby 2.2.0 (#206)
61
+ * Fix tests for Ruby 2.0 (#205)
62
+ * Make group assignment more like login (#159)
63
+ * Flush file descriptors to prevent too many processes from being started (#141)
64
+ * Allow SSL URLs (#168)
65
+ * Documentation fixes
66
+ * Clarify Hipchat privilege requirements (#176)
67
+
68
+ ## 0.13.4 / 2014-03-05
69
+
70
+ * Minor Enhancements
71
+ * Hipchat reporter (#162)
72
+ * Re-open log files on SIGUSR1 (#103)
73
+ * Bug fixes
74
+ * Send query params on webhook reporter (#160)
75
+ * Don't throw an exception when there are problems reading pid file (#164)
76
+
77
+ ## 0.13.3 / 2013-09-25
78
+
79
+ * Minor Enhancements
80
+ * Invoke commands for all watchers
81
+ * Airbrake reporter
82
+ * Improvements to socket responding condition
83
+
84
+ ## 0.13.2 / 2013-02-26
85
+
86
+ * Minor Enhancements
87
+ * Added file_touched condition (#86)
88
+ * Bug fixes
89
+ * Ensure Ruby 1.9 fixes only apply to 1.9.0 and 1.9.1 (#125)
90
+ * Documentation fixes (#109, #84, #92)
91
+
92
+ ## 0.13.1 / 2012-09-18
93
+
94
+ * Minor Changes
95
+ * Prevent auto-loading from bundler by requiring $load_god to require (#97)
96
+
97
+ ## 0.13.0 / 2012-09-17
98
+
99
+ * Minor Changes
100
+ * Reduce verbosity of non-failing conditions (#111)
101
+
102
+ ## 0.12.1 / 2012-01-21
103
+
104
+ * Bug Fixes
105
+ * Fix undefined variable problem in CLI (#82)
106
+
107
+ ## 0.12.0 / 2012-01-13
108
+
109
+ * Minor Enhancements
110
+ * Add umask support
111
+ * Add socket response condition (#25)
112
+ * Don't require tests run as sudo under non-linux systems (#15)
113
+ * Add Bundler support
114
+ * Add keepalive simple conditional setups (#71)
115
+ * Better load command to act upon removed watches (#70)
116
+ * Add support for ssl in http_response_code condition (#36)
117
+ * New documentation at http://godrb.com
118
+ * Bug Fixes
119
+ * Use IO.print instead of IO.puts for thread safety (#35)
120
+ * Fix Slashproc poller for commands with spaces (#31)
121
+ * Various segfault and kernel panic fixes
122
+ * Fix SMTP Auth documentation (#29)
123
+ * Fix a bunch of tests that were failing on Ruby 1.9
124
+
125
+ ## 0.11.0 / 2010-07-01
126
+
127
+ * Major Changes
128
+ * Rewrite notification system to be more consistent and flexible.
129
+
130
+ ## 0.10.1 / 2010-05-17
131
+
132
+ * Bug Fixes
133
+ * Fix date in gemspec
134
+
135
+ ## 0.10.0 / 2010-05-17
136
+
137
+ * Minor Enhancements
138
+ * Add stop_timeout and stop_signal options to Watch
139
+ * Bug Fixes
140
+ * Stop command string was being ignored
141
+
142
+ ## 0.9.0 / 2010-04-03
143
+
144
+ * Minor Enhancements
145
+ * Allow kqueue for OpenBSD and NetBSD
146
+ * Add err_log and err_log_cmd
147
+ * Add God.terminate_timeout option
148
+ * Respect --log-level in Syslog
149
+ * Add configuration parameters to set permissions on socket
150
+ * Add Scout contact
151
+ * Add Prowl contact
152
+ * Bug Fixes
153
+ * Fix interleaved log messages
154
+ * Experimental
155
+ * Ruby 1.9 support
156
+
157
+ ## 0.8.0 / 2009-11-30
158
+
159
+ * Minor Enhancements
160
+ * Rubygems decontamination
161
+ * Use Monitor instead of Mutex to provide ability to wait with a timeout
162
+ * Only generate log messages when they're being used
163
+ * Remove usage of Thread.critical in DriverEventQueue
164
+ * Update to work with latest bleak-house
165
+ * Cache some frequent lookups to reduce object creation
166
+ * Changing the @io.print call in SimpleLogger to not concatenate
167
+ the formatted results before printing
168
+ * Bug fixes
169
+ * Make sure we don't leak hash slots when processes die
170
+ * Make sure the driver is shutdown on Task#unregister!
171
+ * Fix memory leak when issuing "god load" successfully
172
+ * Fix defunct process
173
+
174
+ ### NOTE
175
+
176
+ At this point I will stop giving credit in the history. Look at the author
177
+ and committer in the commit for that info.
178
+
179
+ ## 0.7.22 / 2009-10-29
180
+
181
+ * Minor Enhancements
182
+ * Save ARGV so we can get access to it later if we want [github.com/eric]
183
+
184
+ ## 0.7.21 / 2009-10-29
185
+
186
+ * Minor Enhancements
187
+ * Cache some frequent lookups to reduce object creation [github.com/eric]
188
+ * Try to make SimpleLogger less leaky [github.com/eric]
189
+
190
+ ## 0.7.20 / 2009-09-24
191
+
192
+ * Minor Enhancements
193
+ * Rewrite `god status` command to be not as horrible. Add ability to get
194
+ status for individual tasks.
195
+
196
+ ## 0.7.19 / 2009-09-21
197
+
198
+ * Minor Enhancements
199
+ * Teach `god status` to take a task name as a param and return
200
+ an exit code of 0 if all watches are up or a non-zero exit code
201
+ (equal to the number of non-up watches) if they are not.
202
+
203
+ ## 0.7.18 / 2009-09-09
204
+
205
+ * Minor Enhancements
206
+ * Better handling of unexpected exceptions in conditions
207
+ * Added support for running processes in a directory other than '/' [github.com/samhendley]
208
+ * Bug Fixes
209
+ * Generate an actual unique identifier for email contact [github.com/underley]
210
+
211
+ ## 0.7.17 / 2009-08-25
212
+
213
+ * Bug Fixes
214
+ * Fix the glob and directory config loading for -c option
215
+
216
+ ## 0.7.16 / 2009-08-24
217
+
218
+ * Minor Enhancements
219
+ * Better logging for disk_usage condition [github.com/lettherebecode]
220
+ * Bug Fixes
221
+ * Only sleep if driver delay is > 0 [github.com/ps2]
222
+ * Rescue Timeout::Error exception due to smtp server timing out [github.com/ps2]
223
+ * Disk usage condition should use `df -P` to prevent line splitting [github.com/mseppae]
224
+ * Always require YAML so binary works on dumb systems
225
+
226
+ ## 0.7.15 / 2009-08-19
227
+
228
+ * Minor Enhancements
229
+ * Support SSL Campfire connections [github.com/eric]
230
+ * Allow wildcards in -c configuration file option
231
+
232
+ ## 0.7.14 / 2009-08-10
233
+
234
+ * Minor Enhancements
235
+ * Only store log lines when a client wishes to see them
236
+ * Add a lsb-compliant init script into god/init [Woody Peterson]
237
+ * Never require stop command; use default killer if none is specified
238
+ * Bug Fixes
239
+ * Fix redefinition error for time.h and allow it to compile on Ubuntu Edgy [github.com/tbuser]
240
+ * Fix a memory leak in jabber by adding a call to jabber_client.close [github.com/woahdae]
241
+ * Make jabber code manage one connection to make it faster, use less memory,
242
+ and not leak [github.com/woahdae]
243
+
244
+ ## 0.7.13 / 2009-05-04
245
+
246
+ * Bug Fixes
247
+ * Auto daemonized processes are now stopped/unmonitored correctly [github.com/jcapote]
248
+
249
+ ## 0.7.12 / 2008-12-10
250
+
251
+ * Bug Fixes
252
+ * Fix capistrano deployability [github.com/eric]
253
+ * Fix event handling [brianw]
254
+
255
+ ## 0.7.11 / 2008-11-14
256
+
257
+ * Bug Fixes
258
+ * Make notifications work inside lifecycle blocks
259
+
260
+ ## 0.7.10 / 2008-11-13
261
+
262
+ * Major Enhancements
263
+ * Enable sending of arbitrary signals to a task or group via `god signal`
264
+ * Bug Fixes
265
+ * setup logging *after* loading a given config file when daemonized.
266
+ enables logging to the 'God.log_file' specified in a config file. [github.com/jnewland]
267
+ * New Conditions
268
+ * FileMtime < PollCondition - trigger on file mtime durations [github.com/jwilkins]
269
+ * New Contacts
270
+ * Twitter - allow messages to twitter [github.com/jwilkins]
271
+ * Campfire - send messages to 37signals' Campfire [github.com/hellvinz]
272
+ * Minor Enhancements
273
+ * Add watch log_cmd that can be reopened with STDOUT instead of a log file [github.com/jberkel]
274
+ * Added webhook output support [Martyn Loughran]
275
+
276
+ ## 0.7.9 / 2008-08-06
277
+
278
+ * Major Enhancements
279
+ * Use a psuedo-priority queue for more efficient driver loop [Darrell Kresge]
280
+ * Bug Fixes
281
+ * Fix file_writable? when using chroot [github.com/eric]
282
+
283
+ ## 0.7.8 / 2008-07-09
284
+
285
+ * Bug Fixes
286
+ * Catch all Exceptions from HttpResponseCode condition [github.com/rliebling]
287
+ * Don't error out if the process went away in SlashProcPoller [Kevin Clark]
288
+ * Correction of Task#handle_poll to prevent crash under event registration failure conditions. [github.com/raggi]
289
+ * Cleaned up logging of failed e-mail sends. [github.com/raggi]
290
+ * Listen on 127.0.0.1 when using God as a client. [github.com/halorgium]
291
+ * New Behaviors
292
+ * clean_unix_socket [github.com/gma]
293
+ * New Contacts
294
+ * jabber [github.com/jwulff]
295
+ * email via sendmail [github.com/monde]
296
+ * Minor Enhancements
297
+ * chroot support [github.com/eric]
298
+ * Added God.log_file for the main god log, overridden by command line option. [github.com/raggi]
299
+ * Print groups from `god status` command if present [github.com/pdlug]
300
+ * Allow headers to be specified for http_response_code condition [github.com/pdlug]
301
+
302
+ ## 0.7.7 / 2008-06-17
303
+
304
+ * Bug Fixes
305
+ * Fix detection of proc file system [raggi]
306
+
307
+ ## 0.7.6 / 2008-05-13
308
+
309
+ * Major Enhancements
310
+ * Implement System::Process methods for Linux based on /proc [Kevin Clark]
311
+ * Minor Enhancements
312
+ * Allowing directories to be loaded at start [Bert Goethals]
313
+ * Bug Fixes
314
+ * Don't leak events on error in the kqueue handler [Kevin Clark]
315
+
316
+ ## 0.7.5 / 2008-02-21
317
+
318
+ * Bug Fixes
319
+ * Remove Ruby's Logger and replace with custom SimpleLogger to stop threaded leak
320
+
321
+ ## 0.7.4 / 2008-02-18
322
+
323
+ * Bug Fixes
324
+ * Introduce local scope to prevent faulty optimization that causes memory to leak
325
+
326
+ ## 0.7.3 / 2008-02-14
327
+
328
+ * Minor Enhancements
329
+ * Add --bleakhouse to make running diagnostics easier
330
+ * Bug Fixes
331
+ * Use ::Process.kill(0, ...) instead of `kill -0` [queso]
332
+ * Fix pid_file behavior in process-centric conditions so they work with tasks [matias]
333
+ * Redirect output of daemonized god to log file or /dev/null earlier [_eric]
334
+
335
+ ## 0.7.2 / 2008-02-04
336
+
337
+ * Bug Fixes
338
+ * Start event system for CLI commands
339
+ * Up internal history to 100 lines per watch
340
+
341
+ ## 0.7.1 / 2008-02-04
342
+
343
+ * Minor Enhancements
344
+ * Add --no-events option to completely disable events system
345
+
346
+ ## 0.7.0 / 2008-02-01
347
+
348
+ * Minor Enhancements
349
+ * Better default pid_file_directory behavior
350
+ * Add --attach <pid> to specify that god should quit if <pid> exits
351
+ * Bug Fixes
352
+ * Handle ECONNRESET in HttpResponseCode
353
+
354
+ ## 0.6.12 / 2008-01-31
355
+
356
+ * Minor Enhancements
357
+ * Allow log file output for non-daemonized god
358
+ * Switch to SIGTERM from SIGHUP for default lambda killer
359
+
360
+ ## 0.6.11 / 2008-01-31
361
+
362
+ * Major Enhancements
363
+ * HUGE refactor of timer system to simplify scheduling
364
+ * Minor Enhancements
365
+ * Check for a truly working event system and disallow event conditions if none is present
366
+
367
+ ## 0.6.10 / 2008-01-24
368
+
369
+ * Bug Fixes
370
+ * Fix ensure_stop nil pid no local variable bug
371
+
372
+ ## 0.6.9 / 2008-01-23
373
+
374
+ * Bug Fixes
375
+ * Fix Timer condition dedup behavior
376
+
377
+ ## 0.6.8 / 2008-01-23
378
+
379
+ * Minor Enhancements
380
+ * Warn if a command returns a non-zero exit code
381
+ * Ensure that stop command actually stops process
382
+
383
+ ## 0.6.7 / 2008-01-22
384
+
385
+ * Minor Enhancements
386
+ * Add --no-syslog option to disable Syslog
387
+ * Allow contact redeclaration (dups are ignored)
388
+
389
+ ## 0.6.6 / 2008-01-07
390
+
391
+ * Bug Fixes
392
+ * Redo Timer mutexing to reduce synchronization needs
393
+
394
+ ## 0.6.5 / 2008-01-04
395
+
396
+ * Bug Fixes
397
+ * Fix Timer descheduling deadlock issue
398
+ * Change HttpResponseCode to use GET instead of HEAD
399
+
400
+ ## 0.6.4 / 2008-12-31
401
+
402
+ * Bug Fixes
403
+ * Refactor Hub to clarify mutexing
404
+ * Eliminate potential iteration problem in Timer
405
+ * Add caching PID accessor to process to solve event deregistration failure
406
+
407
+ ## 0.6.3 / 2007-12-18
408
+
409
+ * Minor Enhancements
410
+ * Output ProcessExits registration/deregistration info
411
+
412
+ ## 0.6.2 / 2007-12-17
413
+
414
+ * Minor Enhancements
415
+ * Output registered PID for ProcessExits
416
+ * Bug Fixes
417
+ * Fix `god remove <group>` not working for unmonitored watches
418
+
419
+ ## 0.6.1 / 2007-12-14
420
+
421
+ * Minor Enhancement
422
+ * Log when state change is complete
423
+
424
+ ## 0.6.0 / 2007-12-4
425
+
426
+ * Minor Enhancement
427
+ * Move Syslog calls into God::Logger and clean up all calling code
428
+ * Remove god's pid file on user requested termination
429
+ * Better handling and cleanup of DRb server's unix domain socket
430
+ * Allow shorthand for requesting a god log
431
+ * Add `god check` to make it easier to diagnose event problems
432
+ * Refactor god binary into class/method structure
433
+ * Implement `god remove` to remove a Task altogether
434
+ * New Conditions
435
+ * DiskUsage < PollCondition - trigger if disk usage is above limit on mount [Rudy Desjardins]
436
+
437
+ ## 0.5.2 / 2007-10-10
438
+
439
+ * Minor Enhancement
440
+ * Allow extra args to pass through to config file
441
+
442
+ ## 0.5.1 / 2007-10-08
443
+
444
+ * Bug Fixes
445
+ * Rescue connection refused in http response code condition
446
+
447
+ ## 0.5.0 / 2007-10-05
448
+
449
+ * Major Enhancements
450
+ * Implement lifecycle scoped metric to allow for cross-state conditions
451
+ * Add TriggerCondition for conditions that need info about state changes
452
+ * Implement notification system
453
+ * Add Tasks (a generalization of Watches) to do non-process related tasks
454
+ * Add example init.d file in GOD_INSTALL_DIR/init/god [scott becker]
455
+ * Add human readable info to conditions (and make low level log lines debug)
456
+ * Switch DRb to use a unix domain socket for security reasons
457
+ * Minor Enchancements
458
+ * Allow EventConditions to do transition overloading
459
+ * Report errors during god startup instead of failing silently
460
+ * Make transition block optional (default to Always condition returning true)
461
+ * Better usage info for `god --help`
462
+ * Explain what's going on when attempting to rebind to an in-use port
463
+ * Add -b option to god binary to auto-bind to an unused port
464
+ * Add `god quit` to stop god without stopping any tasks
465
+ * Make self-daemonized Watch commands synchronous (as they should be)
466
+ * Allow self-daemonized Watches to specify a log (could be useful)
467
+ * Check for existence of config file if specified
468
+ * Robustify `god load` and report errors back to the command issuer
469
+ * Warn when `god load` tries to set global options
470
+ * Add Configurable.clear method and make built-in conditions clear on entry
471
+ * New Conditions
472
+ * Flapping < TriggerCondition - trigger on state change
473
+ * HttpResponseCode < PollCondition - trigger on http response code or timeout (thx scott becker)
474
+ * New Contacts
475
+ * Email < Contact - notify via email (smtp)
476
+ * Bug Fixes
477
+ * Fix abort not aborting problem
478
+ * Fix -p option not working for god binary
479
+ * Fix God.init not accepting block (thx _eric)
480
+ * Fix SIGHUP ignore (thx _eric)
481
+ * Fix error reporting on `god --help` (don't error report a normal SystemExit)
482
+
483
+ ## 0.4.3 / 2007-09-10
484
+
485
+ * Bug Fixes
486
+ * fix Process#alive? to not raise on no such file (affects `god terminate`)
487
+
488
+ ## 0.4.2 / 2007-09-10
489
+
490
+ * Bug Fixes
491
+ * fix netlink buffer issue that prevented events on Linux from working consistently [dkresge]
492
+
493
+ ## 0.4.1 / 2007-09-10
494
+
495
+ * Bug Fixes
496
+ * require 'stringio' for ruby 1.8.5
497
+
498
+ ## 0.4.0 / 2007-09-10
499
+
500
+ * Major Enhancements
501
+ * Add the ability for conditions to override transition state (for exceptional cases)
502
+ * Implement dynamic load of config files while god is running (god load <filename>)
503
+ * Add ability to save auto-daemonized process output to a log file
504
+ * Add robust default stop lambda command for auto-daemonized processes (inspired by _eric)
505
+ * Add status command for god binary (shows status of each watch)
506
+ * Create proper logger with timestamps
507
+ * Add log command to god binary to get real time logs for a specific watch from a running god instance
508
+ * Add terminate command for god binary (stop god and all watches)
509
+ * Minor Enhancements
510
+ * Enforce validity of Watches
511
+ * Enforce that God.init is not called after a Watch
512
+ * Move pid_file_directory creation and validation to God.start
513
+ * Remove check for at least one Watch during startup (now that dynamic loading exists)
514
+ * New Conditions
515
+ * Tries < PollCondition - triggers after the specified number of tries
516
+ * Add :notify_when_flapping behavior to check for oscillation [kevinclark]
517
+ * Add :degrading_lambda condition. [kevinclark]
518
+ It uses a decaying interval (1/2 rate) for 3 cycles before failing.
519
+ * Bug Fixes
520
+ * Use exit!(0) instead of exit! in god binary to exit with code 0 (instead of default -1)
521
+ * Command line group control fixed
522
+ * Fix cross-thread return problem
523
+
524
+ ## 0.3.0 / 2007-08-17
525
+
526
+ * Fix netlink header problem on Ubuntu Edgy [Dan Sully]
527
+ * Add uid/gid setting for processes [kevinclark]
528
+ * Add autostart flag for watches so they don't necessarily startup with god [kevinclark]
529
+ * Change command line call options for god binary to accommodate watch start/stop functionality
530
+ * Add individual start/stop/restart grace periods for finer grained control
531
+ * Change default DRb port to 17165 ('god'.to_i(32))
532
+ * Implement command line control to start/restart/stop/monitor/unmonitor watches/groups by name
533
+ * Watches can now belong to a group that can be controlled as a whole
534
+ * Allow god to be installed (sans events) on systems that don't support events
535
+ * Daemonize and handle PID files for non-daemonizing scripts [kevinclark]
536
+ * Fix simple mode lifecycle gap
537
+ * Remove necessity to specify pid_file for conditions
538
+ * Change config file to use God.init and God.watch directly instead of God.meddle block
539
+ * Move god binary command logic to main library
540
+ * Enhance god binary with better reporting
541
+ * Fix synchronization bug in Timer (reported by Srini Panguluri)
542
+ * Add Lambda condition for easy custom conditions [Mike Mintz]
543
+ * Add sugar for numerics (seconds, minutes, kilobytes, megabytes, percent, etc)
544
+ * Add optional PID and log file generation to god binary for daemon mode
545
+ * Add God.load to do glob enabled loading
546
+ * Add -V option to god binary for detailed version/build info
547
+
548
+ ## 0.2.0 / 2007-07-18
549
+
550
+ * Rewrote innards to use a state and event based lifecycle
551
+ * Basic support for events via kqueue (bsd/darwin) and netlink/pec (linux) [kevinclark]
552
+ * Added advanced syntax (simple syntax calls advanced api underneath)
553
+ * Condition returns have changed meaning. With simple syntax, a true return activates block
554
+ * Updated http://god.rubyforge.org with updated simple config and new advanced config
555
+
556
+ ## 0.1.0 / 2007-07-07
557
+
558
+ * 1 major enhancement
559
+ * Birthday!
data/README.md CHANGED
@@ -1,7 +1,12 @@
1
1
  ResurrectedGod: The Ruby Framework for Process Management
2
2
  ==============================================
3
3
 
4
- This project is forked from original [mojombo/god](https://github.com/mojombo/god).
4
+ [![Gem Version](https://badge.fury.io/rb/resurrected_god.svg)](https://badge.fury.io/rb/resurrected_god)
5
+ [![CI](https://github.com/mishina2228/resurrected_god/actions/workflows/ci.yml/badge.svg)](https://github.com/mishina2228/resurrected_god/actions/workflows/ci.yml)
6
+ [![Maintainability](https://api.codeclimate.com/v1/badges/27b37a69e634eba75483/maintainability)](https://codeclimate.com/github/mishina2228/resurrected_god/maintainability)
7
+ [![codecov](https://codecov.io/gh/mishina2228/resurrected_god/branch/master/graph/badge.svg?token=K1DJPS9PSU)](https://codecov.io/gh/mishina2228/resurrected_god)
8
+
9
+ **This project is forked from original [mojombo/god](https://github.com/mojombo/god).**
5
10
 
6
11
  * Authors: Tom Preston-Werner, Kevin Clark, Eric Lindvall
7
12
  * Website: http://godrb.com
@@ -19,15 +24,15 @@ application available.
19
24
  Documentation
20
25
  -------------
21
26
 
22
- See in-repo documentation at `REPO_ROOT/doc`.
27
+ See in-repo documentation at [doc](doc).
23
28
  See online documentation at http://godrb.com.
24
29
 
25
30
  Community
26
31
  ---------
27
32
 
28
- Sign up for the god mailing list at http://groups.google.com/group/god-rb
33
+ Sign up for the god mailing list at https://groups.google.com/g/god-rb.
29
34
 
30
35
  License
31
36
  -------
32
37
 
33
- See LICENSE file.
38
+ See [LICENSE](LICENSE) file.