resurrected_god 0.14.0 → 1.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.
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.