resque_admin 0.2.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 (59) hide show
  1. checksums.yaml +7 -0
  2. data/HISTORY.md +530 -0
  3. data/LICENSE +20 -0
  4. data/README.markdown +957 -0
  5. data/Rakefile +57 -0
  6. data/bin/resque-admin +81 -0
  7. data/bin/resque-admin-web +31 -0
  8. data/lib/resque_admin.rb +578 -0
  9. data/lib/resque_admin/data_store.rb +325 -0
  10. data/lib/resque_admin/errors.rb +21 -0
  11. data/lib/resque_admin/failure.rb +119 -0
  12. data/lib/resque_admin/failure/airbrake.rb +33 -0
  13. data/lib/resque_admin/failure/base.rb +73 -0
  14. data/lib/resque_admin/failure/multiple.rb +68 -0
  15. data/lib/resque_admin/failure/redis.rb +128 -0
  16. data/lib/resque_admin/failure/redis_multi_queue.rb +104 -0
  17. data/lib/resque_admin/helpers.rb +48 -0
  18. data/lib/resque_admin/job.rb +296 -0
  19. data/lib/resque_admin/log_formatters/quiet_formatter.rb +7 -0
  20. data/lib/resque_admin/log_formatters/verbose_formatter.rb +7 -0
  21. data/lib/resque_admin/log_formatters/very_verbose_formatter.rb +8 -0
  22. data/lib/resque_admin/logging.rb +18 -0
  23. data/lib/resque_admin/plugin.rb +78 -0
  24. data/lib/resque_admin/server.rb +301 -0
  25. data/lib/resque_admin/server/helpers.rb +64 -0
  26. data/lib/resque_admin/server/public/favicon.ico +0 -0
  27. data/lib/resque_admin/server/public/idle.png +0 -0
  28. data/lib/resque_admin/server/public/jquery-1.12.4.min.js +5 -0
  29. data/lib/resque_admin/server/public/jquery.relatize_date.js +95 -0
  30. data/lib/resque_admin/server/public/poll.png +0 -0
  31. data/lib/resque_admin/server/public/ranger.js +78 -0
  32. data/lib/resque_admin/server/public/reset.css +44 -0
  33. data/lib/resque_admin/server/public/style.css +91 -0
  34. data/lib/resque_admin/server/public/working.png +0 -0
  35. data/lib/resque_admin/server/test_helper.rb +19 -0
  36. data/lib/resque_admin/server/views/error.erb +1 -0
  37. data/lib/resque_admin/server/views/failed.erb +29 -0
  38. data/lib/resque_admin/server/views/failed_job.erb +50 -0
  39. data/lib/resque_admin/server/views/failed_queues_overview.erb +24 -0
  40. data/lib/resque_admin/server/views/job_class.erb +6 -0
  41. data/lib/resque_admin/server/views/key_sets.erb +17 -0
  42. data/lib/resque_admin/server/views/key_string.erb +11 -0
  43. data/lib/resque_admin/server/views/layout.erb +44 -0
  44. data/lib/resque_admin/server/views/next_more.erb +22 -0
  45. data/lib/resque_admin/server/views/overview.erb +4 -0
  46. data/lib/resque_admin/server/views/processing.erb +2 -0
  47. data/lib/resque_admin/server/views/queues.erb +58 -0
  48. data/lib/resque_admin/server/views/stats.erb +62 -0
  49. data/lib/resque_admin/server/views/workers.erb +109 -0
  50. data/lib/resque_admin/server/views/working.erb +71 -0
  51. data/lib/resque_admin/stat.rb +58 -0
  52. data/lib/resque_admin/tasks.rb +72 -0
  53. data/lib/resque_admin/thread_signal.rb +24 -0
  54. data/lib/resque_admin/vendor/utf8_util.rb +24 -0
  55. data/lib/resque_admin/version.rb +3 -0
  56. data/lib/resque_admin/worker.rb +917 -0
  57. data/lib/tasks/redis.rake +161 -0
  58. data/lib/tasks/resque_admin.rake +2 -0
  59. metadata +191 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d9d99800f01403f954ba5444ed31fa4f5d258a9d
4
+ data.tar.gz: 8ada39a613e02d475abddd192f4cc1e0f0756d57
5
+ SHA512:
6
+ metadata.gz: 07dea8115be753b66acf0fb47887fd14316a1c7419ad69687f4e2d17e173a64b04e970951e784be6964b0fcb22780c199c07935065d41932572cefcd652bba77
7
+ data.tar.gz: eb8dc25314d8de88f3b924a08d3324ee957918b3c0d5532b467cb36b46b698cdce86ee925d10a6d976900e8670367c273d19a7bff577a39e1d5d0e4751470f80
data/HISTORY.md ADDED
@@ -0,0 +1,530 @@
1
+ ## Unreleased
2
+
3
+ ### Changed
4
+ * Remove support for Rubies < 2.0
5
+
6
+ ## 1.27.4 (2017-04-15)
7
+
8
+ ### Fixed
9
+ * Fix issue where removing a failure from ResqueAdmin web didn't work when using `RedisMultiQueue` backend.
10
+
11
+ ## 1.27.3 (2017-04-10)
12
+
13
+ ### Fixed
14
+ * Fix issue where initializing a data store would attempt to hit Redis, even when ResqueAdmin.inline = true
15
+
16
+ ## 1.27.2 (2017-02-20)
17
+
18
+ ### Fixed
19
+ * Require "redis/distributed" in worker.rb to allow proper rescuing
20
+ * Fallback to server time if Redis time won't work (restores Redis 2.4 support)
21
+
22
+ ## 1.27.1 (2017-02-13)
23
+
24
+ ### Fixed
25
+ * Show actual jobs names in web view using ActiveJob (@martnst)
26
+
27
+ ## 1.27.0 (2017-02-08)
28
+
29
+ ### Fixed
30
+ * Fix issue where calling Worker.find, Worker.all, or Worker.working from withing
31
+ a running job would rewrite the PID file with the PID of the forked worker.
32
+ This causes a change to the Worker#new API that may affect plugin
33
+ implementations. See Worker#new and Worker#prepare for details. (@jeremywadsack)
34
+ * Workers queried out now have the correct hostname (@crazymykl)
35
+ * Fix race condition on worker startup (@stevedomin)
36
+ * No longer triggers verbose logging if env variables are not set (@ldnunes)
37
+ * resque/failed/requeue/all when using Redis::Failure::Multiple no longer raises an exception (@ale7714)
38
+ * Improve forking to avoid having a child process escape its code (@dylanahsmith)
39
+ * Workers now use server time rather than their own time to maintain heartbeats (@fw42)
40
+ * Run eager load hooks for Rails applications versioned 4.x and up (@abhi-patel)
41
+ * Fix bug when encountering an error while pruning workers (Joakim Kolsjö and Tomas Skogberg)
42
+ * Children write to PIDFILE immediately after forking, fixing issues when reconnecting to Redis is slow (@fimmtiu)
43
+
44
+ ### Changed
45
+ * Update jQuery from 1.3.2 to 1.12.4 (@chrisccerami)
46
+ * No longer user Thread.kill to stop heartbeat (@Sinjo)
47
+
48
+ ### Added
49
+ * ResqueAdmin Web UI now prompts for confirmation on clearing failed jobs (Markus Olsen)
50
+ * Adds process status to DirtyExit exception when job is killed via signal (@MishaConway)
51
+
52
+ ## 1.26.0 (2016-03-10)
53
+
54
+ This changelog is a bit incomplete. We will be much stricter about the changelog for
55
+ the next release.
56
+
57
+ * rake: when BACKGROUND, ensure worker.reconnect after daemonizing (@yaauie)
58
+ * worker: when searching workers, Worker#pid properly reflects pid of the found
59
+ worker instead of the current pid. (@yaauie)
60
+ * Add support for RESQUE_PROCLINE_PREFIX environment variable to prefix
61
+ procline strings with a static identifier. (@rbroemeling)
62
+ * ResqueAdmin::Worker logs errors at the correct logging level (@chrisccerami)
63
+
64
+ ## 1.25.2 (2014-3-3)
65
+
66
+ * Respect TERM_CHILD setting when not forking (@ggilder)
67
+ * implementation of backend connection with a hash (Andrea Rossi)
68
+ * require yaml for show_args support (@yaauie)
69
+ * use redis-namespace 1.3 (Andrea Rossi)
70
+ * fix DOCS link in README (@cade)
71
+ * Fix worker prune test to actually run its assertion & cover reality. (@yaauie)
72
+ * Eliminate infinite recursion when ResqueAdmin::Helpers mixed into ResqueAdmin (@yaml)
73
+ * use ruby, avoid shelling out. google++ (@hone)
74
+ * Failed Assertions Don't Fail Tests :rage: (@yaauie)
75
+
76
+ ## 1.25.1 (2013-9-26)
77
+
78
+ * Actually require Forwardable from the standard library.
79
+
80
+ ## 1.25.0 (2013-4-16)
81
+ * Updates fork method so [resque-multi-job-forks](https://github.com/stulentsev/resque-multi-job-forks)
82
+ monkey patching works again. See discussion at https://github.com/defunkt/resque/pull/895 for more
83
+ context (@jonhyman)
84
+ * Use Redis.pipelined to group batches of redis commands.
85
+ https://github.com/resque/resque/pull/902 (@jonhyman)
86
+ * Fixed uninitialize constant for the module/class that contains the perform
87
+ method causing job failures to no be reported, #792 (@sideshowcoder)
88
+ * Fix ResqueAdmin::Failure::Base.all to have the correct signature.
89
+ (@rentalutions)
90
+ * Don't close stdio pipes when daemonizing so as to not hide errors. #967
91
+ (@sideshowcoder)
92
+ * Fix for worker_pids on Windows. #980 (@kzgs)
93
+ * Only prune workers for queues the current worker knows about. #1000
94
+ (!) (@dsabanin)
95
+ * Handle duplicate TERM signals. #988 (@softwaregravy)
96
+ * Fix issue with exiting workers and unintentionally deregistering the
97
+ parent when the forked child exits. #1017 (@magec)
98
+ * Fix encoding errors with local date formatting. #1065 (@katafrakt)
99
+ * Fix CI for 1.8.7 and 1.9.2 modes due to dependencies. #1090
100
+ (@adelcambre)
101
+ * Allow using globs for queue names to listen on, allowing things like
102
+ listening on `staging_*`. #1085 (@adelcambre)
103
+
104
+
105
+ ## 1.24.1 (2013-3-23)
106
+
107
+ * Adds a default value for `per_page` on resque-server for plugins which add tabs (@jonhyman)
108
+ * Fix bad logic on the failed queue adapter
109
+ * Added missing `require 'time'` which was causing occasional errors which
110
+ would crash workers.
111
+
112
+ ## 1.24.0 (2013-3-21)
113
+
114
+ * Web UI: Fix regression that caused the failure tab to break when using
115
+ certain failure backends (@kjg)
116
+ * Web UI: Add page list to queues (@ql)
117
+ * Web UI: Fix regression that caused the failure tab to break when clicking on
118
+ "clear all failures" under certain failure backends, #859 (@jonhyman)
119
+ * Fix regression for ResqueAdmin hooks where ResqueAdmin would error out if you assigned
120
+ multiple hooks using an array, #859 (@jonhyman)
121
+ * Adds ENV["RUN_AT_EXIT_HOOKS"] which when set to 1 causes any defined
122
+ `at_exit` hooks to be run on the child when the forked process exits, #862
123
+ (@jonhyman)
124
+ * Bump up redis-namespace to 1.2.
125
+ * Remove multi_json, the JSON gem does the right thing everywhere now.
126
+ * Documentation fixes with demo instructions.
127
+ * Fixed encoding for worker PIDs on Windows (@kzgs)
128
+ * Cache value of PID in an ivar. This way, if you try to look up worker PIDs
129
+ from some other process (such as the console), they will be correct.
130
+ * Add a mutex-free logger. Ruby 2.0 does not allow you to use a mutex from
131
+ a signal handler, which can potentially cause deadlock. Now we're using
132
+ `mono_logger`, which has no locks.
133
+
134
+ ## 1.23.1 (2013-3-7)
135
+
136
+ * JRuby and Rubinius are 'allow failure' on CI. This is largely due to Travis
137
+ weridness and flaky tests.
138
+ * Fix link from "queues" view to "failed" view when there's only one failed
139
+ queue (trliner)
140
+ * Making all the failure backends have the same method signature for duck
141
+ typing purposes (jonhyman)
142
+ * Fix log formatters not appending a new line (flavorpill)
143
+ * redirect unauthorized resque-web polling requests to root url (trliner)
144
+ * Various resque-web fixes (@tarcieri)
145
+ * Optional RedisMultiQueue failure backend, can be enabled with
146
+ FAILURE_BACKEND=redis_multi_queue env var (@tarcieri)
147
+ * resque:failures:sort rake task will migrate an existing "failed" queue into
148
+ separate failure queues per job queue, allowing an easy migration to
149
+ the RedisMultiQueue failure backend (@tarcieri)
150
+ * Disable forking completely with FORK_PER_JOB=false env var (@tarcieri)
151
+ * Report a failure when processes are killed with signals (@dylanahsmith)
152
+ * Enable registering of multiple ResqueAdmin hooks (@panthomakos, @jonhyman)
153
+
154
+ ## 1.23.0 (2012-10-01)
155
+
156
+ * don't run `before_fork` hook if ResqueAdmin can't fork (@kjwierenga, @tarcieri, #672, #697)
157
+ * don't run `after_fork` hook if ResqueAdmin can't fork (@kjwierenga, @tarcieri, #672, #697)
158
+ * retry connecting to redis up to 3 times (@trevorturk, #693)
159
+ * pass exceptions raised by the worker into the Failure backend (@trevorturk, #693)
160
+
161
+ ## 1.22.0 (2012-08-21)
162
+
163
+ * unregister signal handlers in child process when ENV["TERM_CHILD"] is set (@dylanasmith, #621)
164
+ * new signal handling for TERM. See http://hone.heroku.com/resque/2012/08/21/resque-signals.html. (@wuputah, @yaaule, #638)
165
+ * supports calling perform hooks when using ResqueAdmin.inline (@jonhyman, #506)
166
+
167
+ ## 1.21.0 (2012-07-02)
168
+
169
+ * Add a flag to make sure failure hooks are only ran once (jakemack, #546)
170
+ * Support updated MultiJSON API (@twinturbo)
171
+ * Fix worker logging in monit example config (@twinturbo)
172
+ * loosen dependency of redis-namespace to 1.x, support for redis-rb 3.0.x
173
+ * change '%' to '$' in the 'stop program' command for monit
174
+ * UTF8 sanitize exception messages when there's a failure (@brianmario, #507)
175
+ * don't share a redis connection between parent and child (@jsanders, #588)
176
+
177
+ ## 1.20.0 (2012-02-17)
178
+
179
+ * Fixed demos for ruby 1.9 (@BMorearty, #445)
180
+ * Fixed `#requeue` tests (@hone, #500)
181
+ * Web UI: optional trailing slashes of URLs (@elisehuard, #449)
182
+ * Allow * to appear anywhere in queue list (@tapajos, #405, #407)
183
+ * Wait for child with specific PID (@jacobkg)
184
+ * #decode raise takes a string when re-raising as a different exception class (Trevor Hart)
185
+ * Use Sinatra's `pubilc_folder` if it exists (@defunkt, #420, #421)
186
+ * Assign the job's worker before calling `before_fork` (@quirkey)
187
+ * Fix ResqueAdmin::Helpers#constantize to work correctly on 1.9.2 (@rtlong)
188
+ * Added before & after hooks for dequeue (@humancopy, #398)
189
+ * daemonize support using `ENV["BACKGROUND"]` (@chrisleishman)
190
+ * requeue and remove failed jobs by queue name (@evanwhalen)
191
+ * `-r` flag for resque-web for redis connection (@gjastrab)
192
+ * Added `ResqueAdmin.enqueue_to`: allows you to specif the queue and still run hooks (@dan-g)
193
+ * Web UI: Set the default encoding to UTF-8 (@elubow)
194
+ * fix finding worker pids on JRuby (John Andrews + Andrew Grieser)
195
+ * Added distributed redis support (@stipple)
196
+ * Added better failure hooks (@raykrueger)
197
+ * Added before & after dequeue hooks (@humancopy)
198
+
199
+ ## 1.19.0 (2011-09-01)
200
+
201
+ * Added Airbrake (formerly Hoptoad) support.
202
+ * Web UI: Added retry all button to failed jobs page
203
+ * Web UI: Show focus outline
204
+
205
+ ## 1.18.6 (2011-08-30)
206
+
207
+ * Bugfix: Use Rails 3 eager loading for resque:preload
208
+
209
+ ## 1.18.5 (2011-08-24)
210
+
211
+ * Added support for Travis CI
212
+ * Bugfix: preload only happens in production Rails environment
213
+
214
+ ## 1.18.4 (2011-08-23)
215
+
216
+ * Bugfix: preload task depends on setup
217
+
218
+ ## 1.18.3 (2011-08-23)
219
+
220
+ * Bugfix: Fix preloading on Rails 3.x.
221
+
222
+ ## 1.18.2 (2011-08-19)
223
+
224
+ * Fix RAILS_ROOT deprecation warning
225
+
226
+ ## 1.18.1 (2011-08-19)
227
+
228
+ * Bugfix: Use RAILS_ROOT in preload task
229
+
230
+ ## 1.18.0 (2011-08-18)
231
+
232
+ * Added before_enqueue hook.
233
+ * ResqueAdmin workers now preload files under app/ in Rails
234
+ * Switch to MultiJSON
235
+ * Bugfix: Finding worker pids on Solaris
236
+ * Web UI: Fix NaN days ago for worker screens
237
+ * Web UI: Add Cache-Control header to prevent proxy caching
238
+ * Web UI: Update ResqueAdmin.redis_id so it can be used in a distributed ring.
239
+
240
+ ## 1.17.1 (2011-05-27)
241
+
242
+ * Reverted `exit` change. Back to `exit!`.
243
+
244
+ ## 1.17.0 (2011-05-26)
245
+
246
+ * Workers exit with `exit` instead of `exit!`. This means you
247
+ can now use `at_exit` hooks inside workers.
248
+ * More monit typo fixes.
249
+ * Fixed bug in Hoptoad backend.
250
+ * Web UI: Wrap preformatted arguments.
251
+
252
+ ## 1.16.1 (2011-05-17)
253
+
254
+ * Bugfix: ResqueAdmin::Failure::Hoptoad.configure works again
255
+ * Bugfix: Loading rake tasks
256
+
257
+ ## 1.16.0 (2011-05-16)
258
+
259
+ * Optional Hoptoad backend extracted into hoptoad_notifier. Install the gem to use it.
260
+ * Added `Worker#paused?` method
261
+ * Bugfix: Properly reseed random number generator after forking.
262
+ * Bugfix: ResqueAdmin.redis=(<a Redis::Namespace>)
263
+ * Bugfix: Monit example stdout/stderr redirection
264
+ * Bugfix: Removing single failure now works with multiple failure backends
265
+ * Web: 'Remove Queue' now requires confirmation
266
+ * Web: Favicon!
267
+ * Web Bugfix: Dates display in Safari
268
+ * Web Bugfix: Dates display timezone
269
+ * Web Bugfix: Race condition querying working workers
270
+ * Web Bugfix: Fix polling /workers/all in resque-web
271
+
272
+ ## 1.15.0 (2011-03-18)
273
+
274
+ * Fallback to Redis.connect. Makes ENV variables and whatnot work.
275
+ * Fixed Sinatra 1.2 compatibility
276
+
277
+ ## 1.14.0 (2011-03-17)
278
+
279
+ * Sleep interval can now be a float
280
+ * Added ResqueAdmin.inline to allow in-process performing of jobs (for testing)
281
+ * Fixed tests for Ruby 1.9.2
282
+ * Added ResqueAdmin.validate(klass) to validate a Job
283
+ * Decode errors are no longer ignored to help debugging
284
+ * Web: Sinatra 1.2 compatibility
285
+ * Fixed after_enqueue hook to actually run in `ResqueAdmin.enqueue`
286
+ * Fixed very_verbose timestamps to use 24 hour time (AM/PM wasn't included)
287
+ * Fixed monit example
288
+ * Fixed Worker#pid
289
+
290
+ ## 1.13.0 (2011-02-07)
291
+
292
+ * Depend on redis-namespace >= 0.10
293
+ * README tweaks
294
+ * Use thread_safe option when setting redis url
295
+ * Bugfix: worker pruning
296
+
297
+ ## 1.12.0 (2011-02-03)
298
+
299
+ * Added pidfile writing from `rake resque:work`
300
+ * Added Worker#pid method
301
+ * Added configurable location for `rake install`
302
+ * Bugfix: Errors in failure backend are rescue'd
303
+ * Bugfix: Non-working workers no longer counted in "working" count
304
+ * Bugfix: Don't think resque-web is a worker
305
+
306
+ ## 1.11.0 (2010-08-23)
307
+
308
+ * Web UI: Group /workers page by hostnames
309
+
310
+ ## 1.10.0 (2010-08-23)
311
+
312
+ * Support redis:// string format in `ResqueAdmin.redis=`
313
+ * Using new cross-platform JSON gem.
314
+ * Added `after_enqueue` plugin hook.
315
+ * Added `shutdown?` method which can be overridden.
316
+ * Added support for the "leftright" gem when running tests.
317
+ * Grammarfix: In the README
318
+
319
+ ## 1.9.10 (2010-08-06)
320
+
321
+ * Bugfix: before_fork should get passed the job
322
+
323
+ ## 1.9.9 (2010-07-26)
324
+
325
+ * Depend on redis-namespace 0.8.0
326
+ * Depend on json_pure instead of json (for JRuby compat)
327
+ * Bugfix: rails_env display in stats view
328
+
329
+ ## 1.9.8 (2010-07-20)
330
+
331
+ * Bugfix: Worker.all should never return nil
332
+ * monit example: Fixed Syntax Error and adding environment to the rake task
333
+ * redis rake task: Fixed typo in copy command
334
+
335
+ ## 1.9.7 (2010-07-09)
336
+
337
+ * Improved memory usage in Job.destroy
338
+ * redis-namespace 0.7.0 now required
339
+ * Bugfix: Reverted $0 changes
340
+ * Web Bugfix: Payload-less failures in the web ui work
341
+
342
+ ## 1.9.6 (2010-06-22)
343
+
344
+ * Bugfix: Rakefile logging works the same as all the other logging
345
+
346
+ ## 1.9.5 (2010-06-16)
347
+
348
+ * Web Bugfix: Display the configured namespace on the stats page
349
+ * Revert Bugfix: Make ps -o more cross platform friendly
350
+
351
+ ## 1.9.4 (2010-06-14)
352
+
353
+ * Bugfix: Multiple failure backend gets exception information when created
354
+
355
+ ## 1.9.3 (2010-06-14)
356
+
357
+ * Bugfix: ResqueAdmin#queues always returns an array
358
+
359
+ ## 1.9.2 (2010-06-13)
360
+
361
+ * Bugfix: Worker.all returning nil fix
362
+ * Bugfix: Make ps -o more cross platform friendly
363
+
364
+ ## 1.9.1 (2010-06-04)
365
+
366
+ * Less strict JSON dependency
367
+ * Included HISTORY.md in gem
368
+
369
+ ## 1.9.0 (2010-06-04)
370
+
371
+ * Redis 2 support
372
+ * Depend on redis-namespace 0.5.0
373
+ * Added ResqueAdmin::VERSION constant (alias of ResqueAdmin::Version)
374
+ * Bugfix: Specify JSON dependency
375
+ * Bugfix: Hoptoad plugin now works on 1.9
376
+
377
+ ## 1.8.5 (2010-05-18)
378
+
379
+ * Bugfix: Be more liberal in which Redis clients we accept.
380
+
381
+ ## 1.8.4 (2010-05-18)
382
+
383
+ * Try to resolve redis-namespace dependency issue
384
+
385
+ ## 1.8.3 (2010-05-17)
386
+
387
+ * Depend on redis-rb ~> 1.0.7
388
+
389
+ ## 1.8.2 (2010-05-03)
390
+
391
+ * Bugfix: Include "tasks/" dir in RubyGem
392
+
393
+ ## 1.8.1 (2010-04-29)
394
+
395
+ * Bugfix: Multiple failure backend did not support requeue-ing failed jobs
396
+ * Bugfix: Fix /failed when error has no backtrace
397
+ * Bugfix: Add `Redis::DistRedis` as a valid client
398
+
399
+ ## 1.8.0 (2010-04-07)
400
+
401
+ * Jobs that never complete due to killed worker are now failed.
402
+ * Worker "working" state is now maintained by the parent, not the child.
403
+ * Stopped using deprecated redis.rb methods
404
+ * `Worker.working` race condition fixed
405
+ * `Worker#process` has been deprecated.
406
+ * Monit example fixed
407
+ * Redis::Client and Redis::Namespace can be passed to `ResqueAdmin.redis=`
408
+
409
+ ## 1.7.1 (2010-04-02)
410
+
411
+ * Bugfix: Make job hook execution order consistent
412
+ * Bugfix: stdout buffering in child process
413
+
414
+ ## 1.7.0 (2010-03-31)
415
+
416
+ * Job hooks API. See docs/HOOKS.md.
417
+ * web: Hovering over dates shows a timestamp
418
+ * web: AJAXify retry action for failed jobs
419
+ * web bugfix: Fix pagination bug
420
+
421
+ ## 1.6.1 (2010-03-25)
422
+
423
+ * Bugfix: Workers may not be clearing their state correctly on
424
+ shutdown
425
+ * Added example monit config.
426
+ * Exception class is now recorded when an error is raised in a
427
+ worker.
428
+ * web: Unit tests
429
+ * web: Show namespace in header and footer
430
+ * web: Remove a queue
431
+ * web: Retry failed jobs
432
+
433
+ ## 1.6.0 (2010-03-09)
434
+
435
+ * Added `before_first_fork`, `before_fork`, and `after_fork` hooks.
436
+ * Hoptoad: Added server_environment config setting
437
+ * Hoptoad bugfix: Don't depend on RAILS_ROOT
438
+ * 1.8.6 compat fixes
439
+
440
+ ## 1.5.2 (2010-03-03)
441
+
442
+ * Bugfix: JSON check was crazy.
443
+
444
+ ## 1.5.1 (2010-03-03)
445
+
446
+ * `Job.destroy` and `ResqueAdmin.dequeue` return the # of destroyed jobs.
447
+ * Hoptoad notifier improvements
448
+ * Specify the namespace with `resque-web` by passing `-N namespace`
449
+ * Bugfix: Don't crash when trying to parse invalid JSON.
450
+ * Bugfix: Non-standard namespace support
451
+ * Web: Red backgound for queue "failed" only shown if there are failed jobs.
452
+ * Web bugfix: Tabs highlight properly now
453
+ * Web bugfix: ZSET partial support in stats
454
+ * Web bugfix: Deleting failed jobs works again
455
+ * Web bugfix: Sets (or zsets, lists, etc) now paginate.
456
+
457
+ ## 1.5.0 (2010-02-17)
458
+
459
+ * Version now included in procline, e.g. `resque-1.5.0: Message`
460
+ * Web bugfix: Ignore idle works in the "working" page
461
+ * Added `ResqueAdmin::Job.destroy(queue, klass, *args)`
462
+ * Added `ResqueAdmin.dequeue(klass, *args)`
463
+
464
+ ## 1.4.0 (2010-02-11)
465
+
466
+ * Fallback when unable to bind QUIT and USR1 for Windows and JRuby.
467
+ * Fallback when no `Kernel.fork` is provided (for IronRuby).
468
+ * Web: Rounded corners in Firefox
469
+ * Cut down system calls in `Worker#prune_dead_workers`
470
+ * Enable switching DB in a Redis server from config
471
+ * Support USR2 and CONT to stop and start job processing.
472
+ * Web: Add example failing job
473
+ * Bugfix: `Worker#unregister_worker` shouldn't call `done_working`
474
+ * Bugfix: Example god config now restarts ResqueAdmin properly.
475
+ * Multiple failure backends now permitted.
476
+ * Hoptoad failure backend updated to new API
477
+
478
+ ## 1.3.1 (2010-01-11)
479
+
480
+ * Vegas bugfix: Don't error without a config
481
+
482
+ ## 1.3.0 (2010-01-11)
483
+
484
+ * Use Vegas for resque-web
485
+ * Web Bugfix: Show proper date/time value for failed_at on Failures
486
+ * Web Bugfix: Make the / route more flexible
487
+ * Add ResqueAdmin::Server.tabs array (so plugins can add their own tabs)
488
+ * Start using [Semantic Versioning](http://semver.org/)
489
+
490
+ ## 1.2.4 (2009-12-15)
491
+
492
+ * Web Bugfix: fix key links on stat page
493
+
494
+ ## 1.2.3 (2009-12-15)
495
+
496
+ * Bugfix: Fixed `rand` seeding in child processes.
497
+ * Bugfix: Better JSON encoding/decoding without Yajl.
498
+ * Bugfix: Avoid `ps` flag error on Linux
499
+ * Add `PREFIX` observance to `rake` install tasks.
500
+
501
+ ## 1.2.2 (2009-12-08)
502
+
503
+ * Bugfix: Job equality was not properly implemented.
504
+
505
+ ## 1.2.1 (2009-12-07)
506
+
507
+ * Added `rake resque:workers` task for starting multiple workers.
508
+ * 1.9.x compatibility
509
+ * Bugfix: Yajl decoder doesn't care about valid UTF-8
510
+ * config.ru loads RESQUECONFIG if the ENV variable is set.
511
+ * `resque-web` now sets RESQUECONFIG
512
+ * Job objects know if they are equal.
513
+ * Jobs can be re-queued using `Job#recreate`
514
+
515
+ ## 1.2.0 (2009-11-25)
516
+
517
+ * If USR1 is sent and no child is found, shutdown.
518
+ * Raise when a job class does not respond to `perform`.
519
+ * Added `ResqueAdmin.remove_queue` for deleting a queue
520
+
521
+ ## 1.1.0 (2009-11-04)
522
+
523
+ * Bugfix: Broken ERB tag in failure UI
524
+ * Bugfix: Save the worker's ID, not the worker itself, in the failure module
525
+ * Redesigned the sinatra web interface
526
+ * Added option to clear failed jobs
527
+
528
+ ## 1.0.0 (2009-11-03)
529
+
530
+ * First release.