resque-scheduler 2.2.0 → 4.10.2

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 (68) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +12 -0
  3. data/.github/funding.yml +4 -0
  4. data/.github/workflows/codeql-analysis.yml +59 -0
  5. data/.github/workflows/rubocop.yml +27 -0
  6. data/.github/workflows/ruby.yml +81 -0
  7. data/AUTHORS.md +31 -0
  8. data/CHANGELOG.md +539 -0
  9. data/CODE_OF_CONDUCT.md +74 -0
  10. data/Gemfile +26 -2
  11. data/LICENSE +1 -1
  12. data/README.md +423 -91
  13. data/Rakefile +12 -35
  14. data/exe/resque-scheduler +5 -0
  15. data/lib/resque/scheduler/cli.rb +147 -0
  16. data/lib/resque/scheduler/configuration.rb +102 -0
  17. data/lib/resque/scheduler/delaying_extensions.rb +371 -0
  18. data/lib/resque/scheduler/env.rb +85 -0
  19. data/lib/resque/scheduler/extension.rb +13 -0
  20. data/lib/resque/scheduler/failure_handler.rb +11 -0
  21. data/lib/resque/scheduler/lock/base.rb +12 -3
  22. data/lib/resque/scheduler/lock/basic.rb +4 -5
  23. data/lib/resque/scheduler/lock/resilient.rb +52 -43
  24. data/lib/resque/scheduler/lock.rb +2 -1
  25. data/lib/resque/scheduler/locking.rb +104 -0
  26. data/lib/resque/scheduler/logger_builder.rb +83 -0
  27. data/lib/resque/scheduler/plugin.rb +31 -0
  28. data/lib/resque/scheduler/scheduling_extensions.rb +142 -0
  29. data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed.erb +23 -8
  30. data/lib/resque/scheduler/server/views/delayed_schedules.erb +20 -0
  31. data/lib/{resque_scheduler → resque/scheduler}/server/views/delayed_timestamp.erb +1 -1
  32. data/lib/resque/scheduler/server/views/scheduler.erb +58 -0
  33. data/lib/resque/scheduler/server/views/search.erb +69 -0
  34. data/lib/resque/scheduler/server/views/search_form.erb +4 -0
  35. data/lib/resque/scheduler/server.rb +268 -0
  36. data/lib/resque/scheduler/signal_handling.rb +40 -0
  37. data/lib/resque/scheduler/tasks.rb +25 -0
  38. data/lib/resque/scheduler/util.rb +39 -0
  39. data/lib/resque/scheduler/version.rb +7 -0
  40. data/lib/resque/scheduler.rb +333 -149
  41. data/lib/resque-scheduler.rb +4 -0
  42. data/resque-scheduler.gemspec +56 -20
  43. metadata +205 -104
  44. data/.gitignore +0 -8
  45. data/.rubocop.yml +0 -120
  46. data/.travis.yml +0 -10
  47. data/HISTORY.md +0 -180
  48. data/lib/resque/scheduler_locking.rb +0 -90
  49. data/lib/resque_scheduler/logger_builder.rb +0 -51
  50. data/lib/resque_scheduler/plugin.rb +0 -25
  51. data/lib/resque_scheduler/server/views/scheduler.erb +0 -44
  52. data/lib/resque_scheduler/server.rb +0 -92
  53. data/lib/resque_scheduler/tasks.rb +0 -40
  54. data/lib/resque_scheduler/version.rb +0 -3
  55. data/lib/resque_scheduler.rb +0 -355
  56. data/script/migrate_to_timestamps_set.rb +0 -14
  57. data/tasks/resque_scheduler.rake +0 -2
  58. data/test/delayed_queue_test.rb +0 -383
  59. data/test/redis-test.conf +0 -108
  60. data/test/resque-web_test.rb +0 -116
  61. data/test/scheduler_args_test.rb +0 -156
  62. data/test/scheduler_hooks_test.rb +0 -23
  63. data/test/scheduler_locking_test.rb +0 -180
  64. data/test/scheduler_setup_test.rb +0 -59
  65. data/test/scheduler_test.rb +0 -256
  66. data/test/support/redis_instance.rb +0 -129
  67. data/test/test_helper.rb +0 -92
  68. /data/lib/{resque_scheduler → resque/scheduler}/server/views/requeue-params.erb +0 -0
data/CHANGELOG.md ADDED
@@ -0,0 +1,539 @@
1
+ # Change Log
2
+
3
+ **ATTN**: This project uses [semantic versioning](http://semver.org/).
4
+
5
+ ## [4.10.2] - 2023-12-15
6
+ ### Fixed
7
+ * Finish fixing CVE-2022-44303, XSS in delayed_schedules by @PatrickTulskie in #783
8
+
9
+ ## [4.10.1] - 2023-12-15
10
+ ### Fixed
11
+ * Fix json dump crasher with JSON 2.7.0+ by @PatrickTulskie in #781
12
+ * Fix for #761, reflected XSS in delayed_schedules.erb by @PatrickTulskie in #780
13
+
14
+ ## [4.10.0] - 2023-08-20
15
+ ### Added
16
+ * Add logfmt option for logging output (#763)
17
+
18
+ ### Fixed
19
+ * Rubocop Fixes (#771)
20
+
21
+ ## [4.9.0] - 2023-05-31
22
+ ### Changed
23
+ - Adding batching to re-queuing for timestamp by @brennen-stripe in #767
24
+ - Use non-deprecated form of Redis.sadd/srem by @irvingreid in #752
25
+ - Prompt for confirmation on 'Clear Delayed Jobs' by @mishina2228 in #754
26
+ - Address some deprecation warnings in the test suite and with srem/lrem pipelined usage by @PatrickTulskie in #770
27
+
28
+ ### Fixed
29
+ - Update CI matrix and fix tests by @mishina2228 in #766
30
+
31
+ ## [4.8.0] - 2023-27-1
32
+ - Replace deprecated Socket.gethostname with Addrinfo.getaddrinfo to fix deprecation warnings (#753)
33
+
34
+ ## [4.7.0] - 2022-10-6
35
+ ### Fixed
36
+ - Fix tests for redis-rb 5.0 (#757)
37
+ - Use Resque::DataStore#reconnect for redis-rb 5.0 compat (#757)
38
+ - Test suite runs `flushall` to prevent flakiness (#757)
39
+
40
+ ## [4.6.0] - 2022-08-04
41
+ ### Changed
42
+ - Remove support for Ruby < 2.3
43
+ - Configuration to use a set of truthy values to enable boolean settings instead of simply existence
44
+ - Add `delay_or_enqueue_at` for delaying existing jobs or creating a new job(#645)
45
+ - Fix deprecated uses of Redis#pipelined
46
+ - Fix reading configuration from environment for boolean values (#735)
47
+ - Unblock rufus-scheduler lock on lower than 3.7 by fixing scheduler shutdown (#736)
48
+ - Removed testing against jruby (resque doesn't test against jruby)
49
+
50
+ ## [4.5.0] - 2021-09-25
51
+ ### Added
52
+ - Support Ruby 3
53
+ - Add optional argument to `remove_schedule` to control reloading of the schedule
54
+
55
+ ### Fixed
56
+ - Fix XSS vulnerability on the `/delayed/search` page
57
+ - Ensure that jobs are directly created for jobs enqueued at `Time.now`
58
+ - Fix queuing to custom job queues in `enqueue_delayed_selection`
59
+ - Ensure `before_enqueue` and `after_enqueue` callbacks are called in all cases of queuing a job
60
+ - Fix redis error when running resque-scheduler without Redis
61
+
62
+ ### Changed
63
+ - Change CI from Travis to GitHub Actions
64
+ - Only allow rufus-scheduler versions lower than 3.7
65
+ - Update vagrant configuration
66
+
67
+ ## [4.4.0] - 2019-04-11
68
+ ### Added
69
+ - Support Resque 2
70
+ - Support redis-rb 4
71
+ - Support Ruby 2.5
72
+
73
+ ### Fixed
74
+ - Redis timeouts no longer crash the scheduler process
75
+ - Fix race condition when running multiple schedulers
76
+ - Fix setting the `poll_sleep_amount` option
77
+ - Escape class names in resque-web /delayed URLs
78
+
79
+ ### Changed
80
+ - Addressed redis-namespace deprecation warnings
81
+ - Ensure `enqueue_in` args are Numeric, catching a common issue passing `ActiveSupport::Duration`
82
+
83
+ ## [4.3.1] - 2017-11-20
84
+ ### Changed
85
+ - Add support and testing for ruby 2.4
86
+ - Change log format and file name
87
+ - Drop testing on ruby 1.9.3
88
+ - `Lock::Resilient`: Refresh lua script sha if it does not exist in redis server
89
+
90
+ ### Fixed
91
+ - Reporting version via `resque-scheduler --version`
92
+ - Class name escaping in `/delayed` view
93
+
94
+ ## [4.3.0] - 2016-06-26
95
+ ### Added
96
+ - Windows testing on Appveyor
97
+ - Code of Conduct
98
+
99
+ ### Changed
100
+ - Silence output by default when daemonizing
101
+ - Update vagrant setup
102
+ - Update gem metadata per latest Bundler defaults
103
+
104
+ ## [4.2.1] - 2016-06-08
105
+ ### Added
106
+ - Docs improvements
107
+
108
+ ### Changed
109
+ - Optimization of `find_delayed_selection`
110
+ - More defensive code around redis disconnects
111
+ - Only trap existing signals on given platform
112
+ - RuboCop auto-fixes
113
+ - Dependency updates
114
+
115
+ ## [4.2.0] - 2016-04-29
116
+ ### Added
117
+ - Index column to scheduler tab
118
+ - Failure hook support for better extensibility
119
+
120
+ ### Changed
121
+ - Clean up and simplify the scheduling extension
122
+ - Make `Resque::Scheduler.logger` accessible to user
123
+ - Default failure handler now outputs stacktrace
124
+ - Update rufus-scheduler
125
+
126
+ ### Fixed
127
+ - Displaying schedules appropriate to the `env` in scheduler UI
128
+ - A race condition in concurrent restarts
129
+
130
+ ## [4.1.0] - 2016-02-10
131
+ ### Added
132
+ - View helper to cut down on repetition
133
+ - `Resque.(find|enqueue)_delayed_selection` methods to complement
134
+ `Resque.remove_delayed_selection`
135
+
136
+ ### Changed
137
+ - Leave undefined env vars unset in internal options hash
138
+ - Insulate checking `Rails.env`
139
+ - Documentation updates and typo fixes
140
+
141
+ ### Fixed
142
+ - Check thread life only if present
143
+
144
+ ## [4.0.0] - 2014-12-21
145
+ ### Added
146
+ - Show current master in the web UI
147
+
148
+ ### Changed
149
+ - Bump rufus-scheduler dependency to `~> 3.0`
150
+ - Address warning from redis-namespace related to `#unwatch`
151
+ - Documentation updates
152
+
153
+ ### Fixed
154
+ - Bugfix related to schedule check when no jobs are in the queue
155
+
156
+ ## [3.1.0] - 2014-12-21
157
+ ### Added
158
+ - Note in README.md about production redis deployment configuration
159
+ - Better PID file cleanup
160
+ - Option to filter by job class in `Resque.remove_delayed_selection`
161
+ - Tell-don't-ask with `Resque.schedule` to enable atomic clear & set
162
+
163
+ ### Changed
164
+ - Avoid use of redis `KEYS` command in `Resque.remove_delayed_selection`
165
+
166
+ ### Fixed
167
+ - Only release master lock if it belongs to us
168
+ - Only override configuration options if provided
169
+
170
+ ## [3.0.0] - 2014-05-27
171
+ ### Added
172
+ - Vagrant setup
173
+ - Support for last execution information through the web
174
+ - CodeClimate integration
175
+ - `Resque.delayed?` and `Resque.next_delayed_schedule`
176
+ - Allow scheduled jobs to be deleted via resque web
177
+
178
+ ### Changed
179
+ - The grand re-namespacing of `resque_scheduler/(.*)` =&gt;
180
+ `resque/scheduler/\1`
181
+ - "Refactoring"
182
+ - Cleanup of a ton of rubocop offenses
183
+ - Documentation updates
184
+ - Handling signals while "sleeping" by relying on `Thread#wakeup`
185
+ - Testing against same rubies as resque (+ 2.1.1)
186
+ - Renamed `Resque.set_last_run` to `Resque.last_enqueued_at`
187
+
188
+ ### Fixed
189
+ - Duplicated layout for `search_form` partial template.
190
+ - Issue where Web UI was ONLY showing jobs that only run in the current
191
+ environment
192
+
193
+ ## [2.5.5] - 2014-02-27
194
+ ### Changed
195
+ - Only showing link to job with args if job is present
196
+ - Only showing scheduled jobs that match current env or omit env
197
+ - Ensuring lock and acquire lua scripts are refreshed on timeout change
198
+ - Switch to using `mono_logger` instead of stdlib `logger`
199
+
200
+ ## [2.5.4] - 2014-02-17
201
+ ### Changed
202
+ - Documentation updates
203
+
204
+ ## [2.5.3] - 2014-02-12
205
+ ### Fixed
206
+ - Handling signals during poll sleep
207
+
208
+ ## [2.5.2] - 2014-02-11
209
+ ### Changed
210
+ - Pinning down dependency versions more tightly
211
+
212
+ ## [2.5.1] - 2014-02-09
213
+ ### Fixed
214
+ - Make signal handling (really) Ruby 2 compatible
215
+
216
+ ## [2.5.0] - 2014-02-09
217
+ ### Added
218
+ - Search feature to the Delayed tab in Resque Web
219
+
220
+ ### Changed
221
+ - Use `logger.error` when logging errors from `handle_errors`
222
+
223
+ ### Fixed
224
+ - Confusion with redis version requirements in `README.md`
225
+
226
+ ## [2.4.0] - 2014-01-14
227
+ ### Added
228
+ - Including optional env and app names in procline
229
+ - A standalone `resque-scheduler` executable
230
+ - Support for persistence of dynamic schedules
231
+ - `.configure` convenience method for block-style configuration
232
+ - `.remove_delayed_selection` method to remove based on result of a block
233
+ - Support for viewing all schedules for a job in web UI
234
+
235
+ ### Changed
236
+ - Bumping the copyright year
237
+ - Corrected doc for syntax of class and every keys
238
+ - Use resque redis namespace in the master lock key
239
+ - Various test improvements, :bug: fixes, and documentation updates!
240
+
241
+ ### Removed
242
+ - **POSSIBLE BREAKING CHANGE**: Dropping support for ree
243
+
244
+ ### Fixed
245
+ - An explosion regarding `every` in the views
246
+ - Unsafe shutdown in Ruby 2
247
+
248
+ ## 2.3.1 (2013-11-20)
249
+ ### Fixed
250
+ - `require_paths` in gemspec
251
+
252
+ ## 2.3.0 (2013-11-07)
253
+ ### Added
254
+ - Add rufus scheduler `every` notice to README
255
+ - Specify MIT license in gemspec
256
+
257
+ ### Changed
258
+ - **BREAKING CHANGE**: Added `RESQUE_SCHEDULER_INTERVAL` in place of `INTERVAL`
259
+ - Use `Float()` instead of `Integer()` to calculate poll sleep amount
260
+ - Upgraded dependence of Resque to support 1.25
261
+ - Use `Resque.validate` instead of custom `.validate_job!`
262
+
263
+ ### Fixed
264
+ - Re-introduced `ThreadError` on Ruby 2
265
+
266
+ ## 2.2.0 (2013-10-13)
267
+ ### Added
268
+ - Support for parameterized resque jobs.
269
+ - Allowing prefix for `master_lock_key`.
270
+ - `Resque.clean_schedules` method, which is useful when setting up the scheduler
271
+ for the first time.
272
+
273
+ ### Changed
274
+ - Locking rufus-scheduler dependency to `~> 2.0`
275
+ - Updated redis dependency to `>= 3.0.0`
276
+
277
+ ### Fixed
278
+ - Bug fixes related to first time schedule retrieval and missing schedules.
279
+
280
+ ## 2.1.0 (2013-09-20)
281
+ ### Added
282
+ - Add `#scheduled_at` which returns an array of timestamps at which the
283
+ specified job is scheduled
284
+ - Add `#enqueue_delayed` for enqueueing specific delayed jobs immediately
285
+ - Show server local time in resque-web
286
+ - Add support for configuring `Resque::Scheduler.poll_sleep_amount` via the
287
+ `INTERVAL` environmental variable.
288
+
289
+ ### Changed
290
+ - Locking to resque &lt; 1.25.0 (for now)
291
+ - Syncing stdout/stderr
292
+ - Using a logger instead of `#puts`, configurable via `LOGFILE`, `VERBOSE`, and
293
+ `MUTE` environmental variables, as well as being settable via
294
+ `Resque::Scheduler#logger`
295
+ - Enqueue immediately if job is being enqueued in the past
296
+
297
+ ### Removed
298
+ - Dependency on `Resque::Helpers`
299
+
300
+ ### Fixed
301
+ - Ensuring `Resque.schedule=` sets rather than appends
302
+ - Process daemonization fixes including stdio redirection and redis client
303
+ reconnection
304
+ - Scheduler template when arrays are passed to rufus-scheduler
305
+ - Fixed shutdown in ruby 2.0.0
306
+
307
+ ## [2.0.1] - 2013-03-20
308
+ ### Added
309
+ - Locking to support master failover
310
+ - Allow custom job classes to be used in `Resque.enqueue_at`
311
+ - Allowing `#enqueue_at` to call `#scheduled` when `Resque.inline` is `true`
312
+
313
+ ### Changed
314
+ - More efficient `#remove_delayed` implementation
315
+
316
+ ## [2.0.0] - 2012-05-04
317
+ ### Added
318
+ - Support for Resque.inline configuration (carlosantoniodasilva)
319
+
320
+ ### Fixed
321
+ - Possible job loss race condition around deleting delayed queues and enqueuing
322
+ a job 0 seconds in the future.
323
+
324
+ ## [2.0.0.h] - 2012-03-19
325
+ ### Added
326
+ - Plugin support with hooks (andreas)
327
+
328
+ ## [2.0.0.f] - 2011-11-03
329
+ ### Added
330
+ - Support `ENV['BACKGROUND']` flag for daemonizing (bernerdschaefer)
331
+ - Added support for `before_schedule` and `after_schedule` hooks (yaauie)
332
+ - Added `remove_delayed_job_from_timestamp` to remove delayed jobs from
333
+ a given timestamp.
334
+
335
+ ### Fixed
336
+ - Address race condition with delayed jobs (using redis transactions)
337
+
338
+ ## [2.0.0.e] - 2011-09-16
339
+ ### Added
340
+ - `enqueue_at_with_queue`/`enqueue_in_with_queue` support (niralisse)
341
+ - `Resque::Scheduler.poll_sleep_amount` to allow for configuring
342
+ the sleep time b/w delayed queue polls.
343
+ - "Clear Delayed Jobs" button to the Delayed Jobs page (john-griffin)
344
+
345
+ ### Fixed
346
+ - Pagination issue on the Delayed tab
347
+
348
+ ## [2.0.0.d] - 2011-04-04
349
+ ### Changed
350
+ - Porting bug fixes from v1.9-stable
351
+
352
+ ## [2.0.0.c] - 2011-03-25
353
+ ### Changed
354
+ - Rake task drop a pid file (sreeix)
355
+
356
+ ## [2.0.0.b] - 2011-02-25
357
+ ### Fixed
358
+ - Bugs
359
+
360
+ ## 2.0.0.a - 2010-12-10
361
+ ### Added
362
+ - Dynamic schedule support (brianjlandau, davidyang)
363
+
364
+ ### Changed
365
+ - Now depends on redis >=1.3
366
+
367
+ ## [1.9.11] - 2013-11-20
368
+ ### Fixed
369
+ - Behavior of `#validate_job!` via `#enqueue_at_with_queue` #286
370
+ - `require_paths` in gemspec #288
371
+
372
+ ## [1.9.10] - 2013-09-19
373
+ ### Added
374
+ - Backported `#enqueue_at_with_queue`
375
+ - Locking to resque &lt; 1.25.0
376
+ - Ruby 1.8 compatibility in scheduler tab when schedule keys are symbols
377
+
378
+ ### Changed
379
+ - Mocha setup compatibility
380
+
381
+ ## [1.9.9] - 2011-03-29
382
+ ### Added
383
+ - Compatibility with resque 1.15.0
384
+
385
+ ## [1.9.8] - 2011-01-14
386
+ ### Changed
387
+ - Validates delayed jobs prior to insertion into the delayed queue (bogdan)
388
+ - Rescue exceptions that occur during queuing and log them (dgrijalva)
389
+
390
+ ## [1.9.7] - 2010-11-09
391
+ ### Added
392
+ - Support for rufus-scheduler "every" syntax (fallwith)
393
+ - Ability to pass a Time to `handle_delayed_items` for testing/staging (rcarver)
394
+
395
+ ## [1.9.6] - 2010-10-08
396
+ ### Added
397
+ - Support for custom job classes (like resque-status) (mattetti)
398
+
399
+ ## [1.9.5] - 2010-09-09
400
+ ### Changed
401
+ - Updated scheduler rake task to allow for an alternate setup task
402
+ to avoid loading the entire stack. (chewbranca)
403
+
404
+ ### Fixed
405
+ - Sig issue on win32 (#25)
406
+
407
+ ## [1.9.4] - 2010-07-29
408
+ ### Added
409
+ - Ability to remove jobs from delayed queue (joshsz)
410
+
411
+ ### Fixed
412
+ - Issue #23 (removing .present? reference)
413
+
414
+ ## [1.9.3] - 2010-07-07
415
+ ### Fixed
416
+ - Bug fix (#19)
417
+
418
+ ## [1.9.2] - 2010-06-16
419
+ ### Fixed
420
+ - Issue with redis gem 2.0.1 and redis server 1.2.6 (dbackeus)
421
+
422
+ ## [1.9.1] - 2010-06-04
423
+ ### Fixed
424
+ - Issue with redis server 1.2.6 and redis gem 2.0.1
425
+
426
+ ## [1.9.0] - 2010-06-04
427
+ ### Added
428
+ - Redis 2.0 support (bpo)
429
+
430
+ ## [1.8.2] - 2010-06-04
431
+ ### Added
432
+ - Queue now functionality to delayed timestamps (daviddoan)
433
+
434
+ ## [1.8.1] - 2010-05-19
435
+ ### Added
436
+ - `rails_env` for scheduled jobs to support scoping jobs by
437
+ `RAILS_ENV` (gravis).
438
+ - Adding gemspec for bundler support.
439
+
440
+ ### Fixed
441
+ - Ruby 1.8.6 compatibility issue.
442
+
443
+ ## [1.8.0] - 2010-04-14
444
+ ### Added
445
+ - Tests for resque-web (gravis)
446
+
447
+ ### Changed
448
+ - Moving version to match corresponding resque version
449
+ - Sorting schedule on Scheduler tab
450
+
451
+ ## [1.0.5] - 2010-03-01
452
+ ### Fixed
453
+ - Support for overriding queue from schedule config.
454
+
455
+ ### Changed
456
+ - The queue is now stored with the job and arguments in the delayed queue so
457
+ there is no longer a need for the scheduler to load job classes to introspect
458
+ the queue.
459
+
460
+ ### Removed
461
+ - resque-web dependency on loading the job classes for "Queue Now", provided
462
+ "queue" is specified in the schedule.
463
+
464
+ ## [1.0.4] - 2010-02-26
465
+ ### Added
466
+ - Support for specifying the queue to put the job onto. This allows for you to
467
+ have one job that can go onto multiple queues and be able to schedule jobs
468
+ without having to load the job classes.
469
+
470
+ ## [1.0.3] - 2010-02-11
471
+ ### Added
472
+ - Support for scheduled jobs with empty crons. This is helpful to have jobs that
473
+ you don't want on a schedule, but do want to be able to queue by clicking a
474
+ button.
475
+
476
+ ## [1.0.2] - 2010-02-10
477
+ ### Changed
478
+ - Delayed Job tab to display job details if only 1 job exists for a given
479
+ timestamp
480
+
481
+ ## [1.0.1] - 2010-02-01
482
+ ### Fixed
483
+ - Delayed jobs close together resulted in a 5 second sleep
484
+
485
+ ## [1.0.0] - 2009-12-21
486
+ ### Added
487
+ - Initial release
488
+
489
+ [Unreleased]: https://github.com/resque/resque-scheduler/compare/v4.5.0...HEAD
490
+ [4.5.0]: https://github.com/resque/resque-scheduler/compare/v4.4.0...v4.5.0
491
+ [4.4.0]: https://github.com/resque/resque-scheduler/compare/v4.3.1...v4.4.0
492
+ [4.3.1]: https://github.com/resque/resque-scheduler/compare/v4.3.0...v4.3.1
493
+ [4.3.0]: https://github.com/resque/resque-scheduler/compare/v4.2.1...v4.3.0
494
+ [4.2.1]: https://github.com/resque/resque-scheduler/compare/v4.2.0...v4.2.1
495
+ [4.2.0]: https://github.com/resque/resque-scheduler/compare/v4.1.0...v4.2.0
496
+ [4.1.0]: https://github.com/resque/resque-scheduler/compare/v4.0.0...v4.1.0
497
+ [4.0.0]: https://github.com/resque/resque-scheduler/compare/v3.1.0...v4.0.0
498
+ [3.1.0]: https://github.com/resque/resque-scheduler/compare/v3.0.0...v3.1.0
499
+ [3.0.0]: https://github.com/resque/resque-scheduler/compare/v2.5.5...v3.0.0
500
+ [2.5.5]: https://github.com/resque/resque-scheduler/compare/v2.5.4...v2.5.5
501
+ [2.5.4]: https://github.com/resque/resque-scheduler/compare/v2.5.3...v2.5.4
502
+ [2.5.3]: https://github.com/resque/resque-scheduler/compare/v2.5.2...v2.5.3
503
+ [2.5.2]: https://github.com/resque/resque-scheduler/compare/v2.5.1...v2.5.2
504
+ [2.5.1]: https://github.com/resque/resque-scheduler/compare/v2.5.0...v2.5.1
505
+ [2.5.0]: https://github.com/resque/resque-scheduler/compare/v2.4.0...v2.5.0
506
+ [2.4.0]: https://github.com/resque/resque-scheduler/compare/v2.3.1...v2.4.0
507
+ [2.3.1]: https://github.com/resque/resque-scheduler/compare/v2.3.0...v2.3.1
508
+ [2.3.0]: https://github.com/resque/resque-scheduler/compare/v2.2.0...v2.3.0
509
+ [2.2.0]: https://github.com/resque/resque-scheduler/compare/v2.1.0...v2.2.0
510
+ [2.1.0]: https://github.com/resque/resque-scheduler/compare/v2.0.1...v2.1.0
511
+ [2.0.1]: https://github.com/resque/resque-scheduler/compare/v2.0.0...v2.0.1
512
+ [2.0.0]: https://github.com/resque/resque-scheduler/compare/v2.0.0.h...v2.0.0
513
+ [2.0.0.h]: https://github.com/resque/resque-scheduler/compare/v2.0.0.f...v2.0.0.h
514
+ [2.0.0.f]: https://github.com/resque/resque-scheduler/compare/v2.0.0.e...v2.0.0.f
515
+ [2.0.0.e]: https://github.com/resque/resque-scheduler/compare/v2.0.0.d...v2.0.0.e
516
+ [2.0.0.d]: https://github.com/resque/resque-scheduler/compare/v2.0.0.c...v2.0.0.d
517
+ [2.0.0.c]: https://github.com/resque/resque-scheduler/compare/61c7b5f...v2.0.0.c
518
+ [2.0.0.b]: https://github.com/resque/resque-scheduler/compare/v2.0.0.a...61c7b5f
519
+ [1.9.11]: https://github.com/resque/resque-scheduler/compare/v1.9.10...v1.9.11
520
+ [1.9.10]: https://github.com/resque/resque-scheduler/compare/v1.9.9...v1.9.10
521
+ [1.9.9]: https://github.com/resque/resque-scheduler/compare/v1.9.8...v1.9.9
522
+ [1.9.8]: https://github.com/resque/resque-scheduler/compare/v1.9.7...v1.9.8
523
+ [1.9.7]: https://github.com/resque/resque-scheduler/compare/v1.9.6...v1.9.7
524
+ [1.9.6]: https://github.com/resque/resque-scheduler/compare/v1.9.5...v1.9.6
525
+ [1.9.5]: https://github.com/resque/resque-scheduler/compare/v1.9.4...v1.9.5
526
+ [1.9.4]: https://github.com/resque/resque-scheduler/compare/v1.9.3...v1.9.4
527
+ [1.9.3]: https://github.com/resque/resque-scheduler/compare/v1.9.2...v1.9.3
528
+ [1.9.2]: https://github.com/resque/resque-scheduler/compare/v1.9.1...v1.9.2
529
+ [1.9.1]: https://github.com/resque/resque-scheduler/compare/v1.9.0...v1.9.1
530
+ [1.9.0]: https://github.com/resque/resque-scheduler/compare/v1.8.2...v1.9.0
531
+ [1.8.2]: https://github.com/resque/resque-scheduler/compare/v1.8.1...v1.8.2
532
+ [1.8.1]: https://github.com/resque/resque-scheduler/compare/v1.8.0...v1.8.1
533
+ [1.8.0]: https://github.com/resque/resque-scheduler/compare/v1.0.5...v1.8.0
534
+ [1.0.5]: https://github.com/resque/resque-scheduler/compare/v1.0.4...v1.0.5
535
+ [1.0.4]: https://github.com/resque/resque-scheduler/compare/v1.0.3...v1.0.4
536
+ [1.0.3]: https://github.com/resque/resque-scheduler/compare/v1.0.2...v1.0.3
537
+ [1.0.2]: https://github.com/resque/resque-scheduler/compare/v1.0.1...v1.0.2
538
+ [1.0.1]: https://github.com/resque/resque-scheduler/compare/v1.0.0...v1.0.1
539
+ [1.0.0]: https://github.com/resque/resque-scheduler/compare/v0.0.1...v1.0.0
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at resque@librelist.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile CHANGED
@@ -1,5 +1,29 @@
1
+ # vim:fileencoding=utf-8
1
2
  source 'https://rubygems.org'
2
3
 
3
- gemspec
4
+ case resque_version = ENV.fetch('RESQUE', 'master')
5
+ when 'master'
6
+ gem 'resque', git: 'https://github.com/resque/resque'
7
+ else
8
+ gem 'resque', resque_version
9
+ end
10
+
11
+ case rufus_scheduler_version = ENV.fetch('RUFUS_SCHEDULER', '3.6')
12
+ when 'master'
13
+ gem 'rufus-scheduler', git: 'https://github.com/jmettraux/rufus-scheduler'
14
+ else
15
+ gem 'rufus-scheduler', rufus_scheduler_version
16
+ end
17
+
18
+ case redis_version = ENV.fetch('REDIS_VERSION', 'latest')
19
+ when 'master'
20
+ gem 'redis', git: 'https://github.com/redis/redis-rb'
21
+ when 'latest'
22
+ gem 'redis'
23
+ else
24
+ gem 'redis', redis_version
25
+ end
4
26
 
5
- gem 'yajl-ruby', '~> 0.8.2', :platforms => :mri, :group => :test
27
+ gem 'sinatra', '> 2.0'
28
+
29
+ gemspec
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Ben VandenBos
1
+ Copyright (c) 2014 Ben VandenBos
2
2
 
3
3
  MIT License
4
4