rufus-scheduler 3.1.4 → 3.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +410 -0
  3. data/CREDITS.md +142 -0
  4. data/LICENSE.txt +1 -1
  5. data/Makefile +27 -0
  6. data/README.md +407 -143
  7. data/lib/rufus/scheduler/job_array.rb +36 -66
  8. data/lib/rufus/scheduler/jobs_core.rb +369 -0
  9. data/lib/rufus/scheduler/jobs_one_time.rb +53 -0
  10. data/lib/rufus/scheduler/jobs_repeat.rb +335 -0
  11. data/lib/rufus/scheduler/locks.rb +41 -67
  12. data/lib/rufus/scheduler/util.rb +89 -179
  13. data/lib/rufus/scheduler.rb +545 -453
  14. data/rufus-scheduler.gemspec +22 -11
  15. metadata +44 -85
  16. data/CHANGELOG.txt +0 -243
  17. data/CREDITS.txt +0 -88
  18. data/Rakefile +0 -83
  19. data/TODO.txt +0 -151
  20. data/lib/rufus/scheduler/cronline.rb +0 -470
  21. data/lib/rufus/scheduler/jobs.rb +0 -633
  22. data/lib/rufus/scheduler/zones.rb +0 -174
  23. data/lib/rufus/scheduler/zotime.rb +0 -155
  24. data/spec/basics_spec.rb +0 -54
  25. data/spec/cronline_spec.rb +0 -915
  26. data/spec/error_spec.rb +0 -139
  27. data/spec/job_array_spec.rb +0 -39
  28. data/spec/job_at_spec.rb +0 -58
  29. data/spec/job_cron_spec.rb +0 -128
  30. data/spec/job_every_spec.rb +0 -104
  31. data/spec/job_in_spec.rb +0 -20
  32. data/spec/job_interval_spec.rb +0 -68
  33. data/spec/job_repeat_spec.rb +0 -357
  34. data/spec/job_spec.rb +0 -631
  35. data/spec/lock_custom_spec.rb +0 -47
  36. data/spec/lock_flock_spec.rb +0 -47
  37. data/spec/lock_lockfile_spec.rb +0 -61
  38. data/spec/lock_spec.rb +0 -59
  39. data/spec/parse_spec.rb +0 -263
  40. data/spec/schedule_at_spec.rb +0 -158
  41. data/spec/schedule_cron_spec.rb +0 -66
  42. data/spec/schedule_every_spec.rb +0 -109
  43. data/spec/schedule_in_spec.rb +0 -80
  44. data/spec/schedule_interval_spec.rb +0 -128
  45. data/spec/scheduler_spec.rb +0 -1067
  46. data/spec/spec_helper.rb +0 -126
  47. data/spec/threads_spec.rb +0 -96
  48. data/spec/zotime_spec.rb +0 -396
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9fbe0f73068129b96196031b141f480f830e3110e35d3c5eaa2206530b1ae536
4
+ data.tar.gz: bec310a43820928b8d342b5b3602edf8cb27aaca8995e0a18073d70dfd3839f8
5
+ SHA512:
6
+ metadata.gz: 3e8edfd4df2ddbb0f8026ffa13fff69f9f4bd045da1638fe5ac38610992e0f7d173b20a27ad1833760d6fee62d41b5b160978e107dbc55a1b9d07dfaa62444ad
7
+ data.tar.gz: 412bb7e80546c5cd13bf8875f928ce6920a9e62774d296db83935adbfee56069cbb2729bb4640962351297cd55b8b5cfb92facfec38e7cb92b3ef9f7446c7283
data/CHANGELOG.md ADDED
@@ -0,0 +1,410 @@
1
+
2
+ # CHANGELOG.md
3
+
4
+
5
+ ### rufus-scheduler 3.8.2 - released 2022-07-12
6
+
7
+ * Prevent error in shutdown when @thread is current Thread, gh-337
8
+ * Rescue errors on the scheduling thread, gh-335
9
+
10
+
11
+ ### rufus-scheduler 3.8.1 - released 2022-01-11
12
+
13
+ * Suppress warning about @resume_discard_past
14
+ * Suppress warning about unused variable, solackerman gh-332
15
+
16
+
17
+ ### rufus-scheduler 3.8.0 - released 2021-07-14
18
+
19
+ * Add #source_location to Job, gh-322
20
+
21
+
22
+ ### rufus-scheduler 3.7.0 - released 2020-12-31
23
+
24
+ * Implement Job name:/n: #name and #name=, gh-309
25
+ * Add Job #has_key?, #value, and #entries
26
+ * Add #locals access to Job
27
+ * Implement Scheduler#around_trigger, @jjb, gh-310
28
+ * Accept max_worker_threads: for max_work_threads:
29
+ * Clean up Scheduler#shutdwon, thanks @itsaphel and @jjb, gh-304, gh-315
30
+
31
+ * f59df40 Bring in discard_past: for every jobs, gh-290
32
+ * 7613277 Introduce :discard_past = false for cron, gh-305
33
+
34
+
35
+ ### rufus-scheduler 3.6.0 - released 2019-04-22
36
+
37
+ * Let Scheduler#cron fail if the cron string is invalid, gh-289
38
+ * Implement Job#next_times(count) for cron, every, and interval jobs
39
+ * Implement Job#next_times(count) for at and in jobs
40
+ * Stop fooling around and stick to https://semver.org
41
+
42
+
43
+ ### rufus-scheduler 3.5.2 - released 2018-08-01
44
+
45
+ * Use Fugit::Cron#rough_frequency
46
+ * Improve Job#check_frequency performance, gh-276, @drcapulet
47
+
48
+
49
+ ### rufus-scheduler 3.5.1 - released 2018-07-20
50
+
51
+ * Upgrade fugit to 1.1.4 (with out of DST issue fix)
52
+ * Ensure JRuby doesn't count fresh, new, work threads as vacant
53
+
54
+
55
+ ### rufus-scheduler 3.5.0 - released 2018-05-15
56
+
57
+ * Use fugit to parse durations
58
+ * Drop .parse_time_string and .parse_duration_string
59
+ * Use fugit to parse cronlines
60
+
61
+
62
+ ### rufus-scheduler 3.4.2 - released 2017-05-24
63
+
64
+ (had yanked 3.4.1, going 3.4.2)
65
+
66
+
67
+ ### rufus-scheduler 3.4.1 - released 2017-05-24
68
+
69
+ * Let #schedule accept a CronLine instance, gh-247
70
+
71
+
72
+ ### rufus-scheduler 3.4.0 - released 2017-03-23
73
+
74
+ * Stop supporting Ruby < 1.9
75
+ * Drop ZoTime for et-orbi Etorbi::EoTime, gh-240
76
+ * Fix for ZooKeeper example, thanks to @djrodgerspryor, gh-238
77
+
78
+
79
+ ### rufus-scheduler 3.3.4 - released 2017-02-16
80
+
81
+ * More detailed "cannot determine timezone from nil" message, gh-237
82
+
83
+
84
+ ### rufus-scheduler 3.3.3 - released 2017-01-29
85
+
86
+ * use Rails' timezone by default if Rails is present, gh-230, gh-233,
87
+ thanks Alexander Deeb
88
+ * is_a?(Fixnum) replaced by is_a?(Integer), gh-232, thanks Cody Cutrer
89
+ * Fix for every double trigger, gh-231, thanks Sofia Bravo
90
+
91
+
92
+ ### rufus-scheduler 3.3.2 - released 2017-01-05
93
+
94
+ * Fix ZoTime issue with `Time.zone.now #=> 'CST'`, thanks zzjin
95
+ * Fix cron weekdays + monthdays, by Dominik Sander, https://github.com/dsander
96
+ * Speedup CronLine#brute_frequency, by Dominik Sander
97
+ * Use object_id instead of hash to make Job id
98
+
99
+
100
+ ### rufus-scheduler 3.3.1 - released 2016-12-03
101
+
102
+ * gh-222 fall back on `ENV['TZ']` when Time.now.zone is something
103
+ like "中国标准时间" (ask for "Asia/Shanghai"), thanks to
104
+ https://github.com/lovingyu
105
+
106
+
107
+ ### rufus-scheduler 3.3.0 - released 2016-11-28
108
+
109
+ * Bring in Piavka's Job#trigger_off_schedule, gh-214
110
+ * Reject "day 0" in cronlines, thanks to Ramon Tayag, https://github.com/ramontayag
111
+ * Move away from `ENV['TZ']`, thanks to Akinori Musha, https://github.com/knu
112
+ * Fix .parse_to_time vs Date issue, as reported by @nsatragno
113
+
114
+
115
+ ### rufus-scheduler 3.2.2 - released 2016-08-14
116
+
117
+ * job opt hash preservation, as suggested in gh-212, by https://github.com/d-m-u
118
+ * introduce Job#previous_time
119
+ * countered ActiveRecord 3.2.22 on gh-210, by https://github.com/paulodelgado
120
+
121
+
122
+ ### rufus-scheduler 3.2.1 - released 2016-05-04
123
+
124
+ * accept `'* * * * 5L'` (last friday) (equivalent to `'* * * * 5#-1'`)
125
+ * CronLine#to_a (#to_array aliasing to it)
126
+ * simplify .parse_duration (and trim input)
127
+ * raise on `"*/0 * * * *"`, by https://github.com/simook
128
+ * introduce "days to end of month" in cron strings
129
+
130
+
131
+ ### rufus-scheduler 3.2.0 - released 2015-12-28
132
+
133
+ * cache CronLine#brute_frequency results, gh-188 and gh-89
134
+ * "every" shift prevention by https://github.com/Korrigan
135
+ * Ruby warnings silenced by https://github.com/vivitar
136
+
137
+
138
+ ### rufus-scheduler 3.1.10 - released 2015-11-18
139
+
140
+ * allow for `:first_in => 0`, gh-179 by https://github.com/JonMcPherson
141
+ for https://github.com/Shopify/dashing/commit/ea3730fa4
142
+ * stop shipping specs in gem
143
+
144
+
145
+ ### rufus-scheduler 3.1.9 - released 2015-11-12
146
+
147
+ * fix potential RuntimeError in CronLine#prev_second,
148
+ by Alexandru https://github.com/alexandru-calinoiu
149
+
150
+
151
+ ### rufus-scheduler 3.1.8 - released 2015-11-10
152
+
153
+ * stop jumping eagerly out of DST, fix for one hour jump when leaving DST
154
+ thanks Alyssa http://github.com/alyssa
155
+
156
+
157
+ ### rufus-scheduler 3.1.7 - released 2015-10-15
158
+
159
+ * ack #unscheduled_at in #scheduled?, by Claude https://github.com/claudeatsafe
160
+
161
+
162
+ ### rufus-scheduler 3.1.6 - released 2015-10-01
163
+
164
+ * fix job id uniqueness (JRuby), thanks 김성식 https://github.com/kssminus
165
+
166
+
167
+ ### rufus-scheduler 3.1.5 - released 2015-09-25
168
+
169
+ * fix for "not a valid cronline" on "mingw" Ruby distributions, gh-166
170
+
171
+
172
+ ### rufus-scheduler 3.1.4 - released 2015/08/29
173
+
174
+ * fix cron issue reported by Jesse https://github.com/jhw-at-prosperworks-com
175
+
176
+
177
+ ### rufus-scheduler 3.1.3 - released 2015/06/20
178
+
179
+ * prevent `Thread[:rufus_scheduler_time]` being nil, gh-156
180
+ * fix inconsistency in Job#start_work_thread
181
+
182
+
183
+ ### rufus-scheduler 3.1.2 - released 2015/05/23
184
+
185
+ * avoid cron/:first_at infinite loop, thanks https://github.com/pouellet
186
+
187
+
188
+ ### rufus-scheduler 3.1.1 - released 2015/04/19
189
+
190
+ * fix ZoTime.is_timezone? on OSX, thanks https://github.com/yaauie
191
+
192
+
193
+ ### rufus-scheduler 3.1.0 - released 2015/04/18
194
+
195
+ * go without tzinfo (and its dependencies)
196
+ * include @ketan's #next_time improvements
197
+ * remove 2.x warning message on install
198
+
199
+
200
+ ### rufus-scheduler 3.0.9 - released 2014/08/30
201
+
202
+ * fix TZ with underscores, thanks https://github.com/gnilrets
203
+ * integrate https://github.com/ecin Lock mecha
204
+
205
+
206
+ ### rufus-scheduler 3.0.8 - released 2014/06/09
207
+
208
+ * handle TZInfo errors on DST transitions, thanks https://github.com/junhanamaki
209
+ * implement Scheduler#up?
210
+ * let schedule and schedule_at use Chronic if present
211
+ * let Rufus::Scheduler.parse use Chronic if present
212
+
213
+
214
+ ### rufus-scheduler 3.0.7 - released 2014/03/18
215
+
216
+ * implement Scheduler #occurrences and #timeline, inspired by kreynolds
217
+ * implement Job #last_work_time and #mean_work_time
218
+ * implement Job#count
219
+ * add more info to the stderr error output (scheduler/tz info)
220
+ * prevent skipping a day on switch to summertime, gh-114, thanks Matteo
221
+
222
+
223
+ ### rufus-scheduler 3.0.6 - released 2014/02/14
224
+
225
+ * avoid "can't be called from trap context" on Ruby 2.0, gh-98
226
+
227
+
228
+ ### rufus-scheduler 3.0.5 - released 2014/01/30
229
+
230
+ * implement Job#call(do_rescue=false), gh-97
231
+ * implement `:first => :now` for repeat jobs, gh-96
232
+
233
+
234
+ ### rufus-scheduler 3.0.4 - released 2014/01/19
235
+
236
+ * make CronLine#frequency faster (to avoid 20s schedule_cron times)
237
+
238
+
239
+ ### rufus-scheduler 3.0.3 - released 2013/12/12
240
+
241
+ * CronLine#previous_time fix by Yassen Bantchev (https://github.com/yassenb)
242
+ * introduce ZookeptScheduler example in the readme
243
+ * rename #consider_lockfile to #lock and introduce #unlock
244
+
245
+
246
+ ### rufus-scheduler 3.0.2 - released 2013/10/22
247
+
248
+ * default :max_work_threads to 28
249
+ * fix "rufus rushes to create work threads" issue, thanks Gatis Tomsons
250
+ * introduce Rufus::Scheduler::NotRunningError, thanks Gatis Tomsons
251
+
252
+
253
+ ### rufus-scheduler 3.0.1 - released 2013/10/19
254
+
255
+ * fix post_install_message, thanks Ted Pennings
256
+ * bring back .parse_time_string and .parse_duration_string
257
+
258
+
259
+ ### rufus-scheduler 3.0.0 - released 2013/10/02
260
+
261
+ * complete rewrite.
262
+ * introduce scheduler.interval('10s') { ... }
263
+
264
+
265
+ ### rufus-scheduler 2.0.24 - released 2013/09/02
266
+
267
+ * lowered tzinfo dependency to >= 0.3.22
268
+ http://stackoverflow.com/questions/18551970
269
+
270
+
271
+ ### rufus-scheduler 2.0.23 - released 2013/07/26
272
+
273
+ * mutex vs timeout fix by Tobias Kraze
274
+
275
+
276
+ ### rufus-scheduler 2.0.22 - released 2013/07/16
277
+
278
+ * parse `"/10 * * * *"` again (like <= 2.0.19 did), thanks @skrd
279
+
280
+
281
+ ### rufus-scheduler 2.0.21 - released 2013/07/15
282
+
283
+ * add license (MIT) to gemspec file
284
+
285
+
286
+ ### rufus-scheduler 2.0.20 - released 2013/07/15
287
+
288
+ * add Rufus::Scheduler.new (so that rs 3.0 quickstarts are OK with 2.0.20)
289
+ * implement CronLine#previous_time(now=Time.now) (Idea Matteo Cerutti)
290
+ * throw ArgumentError for invalid cron lines (Thanks Aimee Rose)
291
+ * cron 0 vs 24 hour case straightening (Thanks Aimee Rose)
292
+ * support for sun#L or sun#-2 in cron lines
293
+
294
+
295
+ ### rufus-scheduler 2.0.19 - released 2013/05/07
296
+
297
+ * raise ArgumentError on <= 0.0 "every" frequency (Thanks Lucy Fu)
298
+ * support multiple mutexes (Thanks Rainux Luo)
299
+
300
+
301
+ ### rufus-scheduler 2.0.18 - released 2013/03/06
302
+
303
+ * support for "L" in cron lines (Thanks Andrew Davey)
304
+ * support for negative time strings (Thanks Danny "northox" Fullerton)
305
+ * reject invalid weekdays (Thanks pazustep)
306
+
307
+
308
+ ### rufus-scheduler 2.0.17 - released 2012/06/14
309
+
310
+ * @andrehjr patch to make it work on Ruby 1.9.3
311
+ * raises ArgumentError on unknown/unsupported options (Idea Tero Tilus)
312
+
313
+
314
+ ### rufus-scheduler 2.0.16 - released 2011/12/31
315
+
316
+ * hardened Rufus.parse_time_string
317
+ * running job thread: getting rid of the job pointer once job is done
318
+
319
+
320
+ ### rufus-scheduler 2.0.15 - released 2011/12/20
321
+
322
+ * Scheduler#running_jobs (Thanks Louis Coilliot)
323
+
324
+
325
+ ### rufus-scheduler 2.0.14 - released 2011/12/11
326
+
327
+ * Job #pause and #resume
328
+ * Scheduler #pause(job_or_job_id) and #resume(job_or_job_id)
329
+ * Scheduler#unschedule(job_or_job_id)
330
+
331
+
332
+ ### rufus-scheduler 2.0.13 - released 2011/11/14
333
+
334
+ * cron lines now OK with "09". Thanks Anthony Lewis
335
+
336
+
337
+ ### rufus-scheduler 2.0.12 - released 2011/10/28
338
+
339
+ * hardened exception handling. Thanks Sam Gibson
340
+ * accepting #handle_exception, #log_exception or #on_exception
341
+ * `scheduler.in '1s', :mutex => 'that_mutex_name'`
342
+
343
+
344
+ ### rufus-scheduler 2.0.11 - released 2011/09/30
345
+
346
+ * require 'rufus-scheduler' works
347
+
348
+
349
+ ### rufus-scheduler 2.0.10 - released 2011/06/26
350
+
351
+ * every and allow_overlapping now surviving exceptions. Thanks sha1dy
352
+
353
+
354
+ ### rufus-scheduler 2.0.9 - released 2011/04/22
355
+
356
+ * `Scheduler#first_at` and `:discard_past => true`. Thanks concept47
357
+ * `Scheduler#cron` and monthdays (sun#2 or mon#1)
358
+ * `Scheduler#unschedule_by_tag(t)`
359
+
360
+
361
+ ### rufus-scheduler 2.0.8 - released 2010/12/31
362
+
363
+ * issue with cron `"0 7-23/2 * * *"` fixed. Thanks Pickerel
364
+
365
+
366
+ ### rufus-scheduler 2.0.7 - released 2010/11/09
367
+
368
+ * `:allow_overlapping => false`, thanks Adam Davies
369
+ * cron and timezones, thanks Tanzeeb Khalili
370
+ * `Scheduler#trigger_threads`, thanks Tim Uckun
371
+
372
+
373
+ ### rufus-scheduler 2.0.6 - released 2010/05/01
374
+
375
+ * timeout jobs not outliving their parent job anymore, thanks Joel Wood
376
+
377
+
378
+ ### rufus-scheduler 2.0.5 - released 2010/03/02
379
+
380
+ * fixed parse_time_string(s) issue, thanks Gonzalo Suarez
381
+
382
+
383
+ ### rufus-scheduler 2.0.4 - released 2010/02/12
384
+
385
+ * addressing issue with every and timeout, thanks Tony Day
386
+
387
+
388
+ ### rufus-scheduler 2.0.3 - released 2009/11/04
389
+
390
+ * made sure Schedulables with a call(job) method were OK when passed as second
391
+ parameter (thanks Nate Wiger)
392
+
393
+
394
+ ### rufus-scheduler 2.0.2 - released 2009/10/31
395
+
396
+ * unified JobQueue and CronJobQueue, and handed @last_second management to the
397
+ latter
398
+ * #trigger_block method for easier override
399
+ * passing `:job => job` among Schedulable trigger parameters
400
+
401
+
402
+ ### rufus-scheduler 2.0.1 - released 2009/05/07
403
+ ### rufus-scheduler 2.0.0 - released 2009/05/07
404
+
405
+ ...
406
+
407
+ ## initial release
408
+
409
+ (was [openwferu-scheduler](https://rubygems.org/gems/openwferu-scheduler/versions) before that)
410
+
data/CREDITS.md ADDED
@@ -0,0 +1,142 @@
1
+
2
+ # CREDITS.md
3
+
4
+
5
+ ## Contributors
6
+
7
+ * Bence Monus https://github.com/cromega gh-337 on_error and friends
8
+ * Talia Wong https://github.com/blowfishpro gh-335 on_error and friends
9
+ * Konstantin https://github.com/fa11enangel gh-334 nodejitsu link
10
+ * Olle Jonsson https://github.com/olleolleolle gh-333
11
+ * Sol Ackerman https://github.com/solarckerman gh-332
12
+ * John Bachir https://github.com/jjb gh-310 gh-327
13
+ * Daniel Berger https://github.com/djberg96 gh-300
14
+ * Ceyhun Onur https://github.com/ceyonur parse_cron no_error: true
15
+ * Darwin Wu https://github.com/dwaxe Rails initializer vs tests change
16
+ * Mike Karolow https://github.com/mike-yesware update Travis target Rubies
17
+ * Jack-Nie https://github.com/jack-nie gh-285 fix broken comment link
18
+ * Yechiel Kalmenson (https://github.com/achasveachas) README link fix
19
+ * Alex Coomans (https://github.com/drcapulet) gh-276 freq check pref improvement
20
+ * Vais Salikhov (https://github.com/vais) many document clarifications
21
+ * Wes McNamee (https://github.com/ghostsquad) let #schedule accept a CronLine
22
+ * Joe Rafaniello (https://github.com/jrafanie) Travis Ruby 2.4.1
23
+ * Benjamin Fleischer (https://github.com/bf4) ZoTime#subtract
24
+ * Sam Rowe (https://github.com/riddley) gh-240 timezone for Debian
25
+ * Daniel Rodgers-Pryor (https://github.com/djrodgerspryor), gh-238 fix ZooKeeper example
26
+ * Cody Cutrer (https://github.com/ccutrer) gh-232 is_a?(Fixnum) replacement
27
+ * Dominik Sander (https://github.com/dsander), gh-225, gh-226
28
+ * Piavka (https://github.com/piavka) Job#trigger_off_schedule, gh-214
29
+ * Paulo Delgado (https://github.com/paulodelgado) counter ActiveRecord, gh-210
30
+ * Anjali Sharma (https://github.com/anjali-sharma) enhance job#last_time example
31
+ * Kyle Simukka (https://github.com/simook) raise on `"*/0 * * * *"`
32
+ * Ryan McGeary (https://github.com/rmm5t) svg badges for the readme
33
+ * Balasankar C (https://github.com/balasankarc) fix CronJob spec vs December
34
+ * Matthieu Rosinski (https://github.com/Korrigan) prevent "every" shifts
35
+ * vivitar (https://github.com/vivitar) silenced a set of Ruby warnings
36
+ * Jon McPherson (https://github.com/JonMcPherson) `:first_in => 0` back
37
+ * Calinoiu Alexandru Nicolae (https://github.com/alexandru-calinoiu) CronLine#prev_second fix
38
+ * Alyssa Pohahau (https://github.com/alyssa) out of DST transition specs
39
+ * Claude Vessaz (https://github.com/claudeatsafe) ack #unscheduled_at in #scheduled?
40
+ * 김성식 (https://github.com/kssminus) job id uniqueness effort
41
+ * Jesse Willet (https://github.com/jhw-at-prosperworks-com) cron vs `"*/10"`
42
+ * Pascal Ouellet (https://github.com/pouellet) Scheduler#timeline loop fix
43
+ * Ryan Biesemeyer (https://github.com/yaauie) ZoTime.is_timezone? on OSX
44
+ * Ketan Padegaonkar (https://github.com/ketan) .brute_frequency improvement
45
+ * Gabriel Gilder (https://github.com/ggilder) LA DST specs
46
+ * Sterling Paramore (https://github.com/gnilrets) underscore TZ fix
47
+ * ecin (https://github.com/ecin) new lock mecha
48
+ * Adam Jonas (https://github.com/adamjonas) migrate specs to "expect"
49
+ * Yassen Bantchev (https://github.com/yassenb) CronLine#previous_time rewrite
50
+ * Eric Lindvall (https://github.com/eric) Zookeeper locked example
51
+ * Ted Pennings (https://github.com/tedpennings) typo in post_install_message
52
+ * Tobias Kraze (https://github.com/kratob) timeout vs mutex fix
53
+ * Patrick Farrell (https://github.com/pfarrell) pointing at deprecated start_new
54
+ * Thomas Sevestre (https://github.com/thomassevestre) :exception option
55
+ * Matteo Cerutti - last_time / previous_time idea (and initial implementation)
56
+ * Aimee Rose (https://github.com/AimeeRose) cronline and > 24
57
+ * Lucy Fu (https://github.com/lfu) arg error on `<= 0 "every" freq`
58
+ * Rainux Luo (https://github.com/rainux) multiple mutexes
59
+ * Andrew Davey (https://github.com/asdavey) "L" in cron lines
60
+ * Stig Kleppe-Jørgensen (https://github.com/stigkj)
61
+ * Danny "northox" Fullerton (https://github.com/northox) negative time strings
62
+ * Marcus Brito (https://github.com/pazustep) CronLine proofing
63
+ * André Luis Leal Cardoso Junior (https://github.com/andrehjr) 1.9.3 patch
64
+ * Anthony Lewis (https://github.com/anthonylewis) cron lines and 09 issue
65
+ * concept47 (https://github.com/concept47) every and :discard_past
66
+ * Chris Kampemeier (https://github.com/chrisk) rspec 2.0 refinements
67
+ * Tanzeeb Khalili (https://github.com/tanzeeb) cron and timezones
68
+ * Adam Davies (https://github.com/adz) `:allow_overlapping => false`
69
+ * Klaas Jan Wierenga (https://github.com/kjwierenga) at/every/in stress tests (1.0 and 2.0)
70
+ * TobyH (https://github.com/tobyh) faster and cleaner `CronLine#next_time`
71
+
72
+
73
+ ## Feedback
74
+
75
+ * aphel (https://github.com/itsaphel) #shutdown vs current thread, gh-304
76
+ * aesyondu (https://github.com/aesyondu) Rails console 4.2.x, gh-186
77
+ * Sasha Hoellger (https://github.com/mitnal) parse_cron and readme, gh-270
78
+ * Gian (https://github.com/snmgian) cron vs :first clarification, gh-266
79
+ * Vito Laurenza (https://github.com/veetow) help debugging tz issues, gh-240
80
+ * Yoshimi Keiji (https://github.com/walf443) v.3.3.3 mislabelling
81
+ * Alexander Deeb (https://github.com/adeeb1) gh-230
82
+ * Sofia Bravo (http://stackoverflow.com/users/1123850/sofia-bravo) gh-231
83
+ * zzjin (https://github.com/zzjin) 3.3.x vs CST abbreviated timezone, gh-228
84
+ * lovingyu (https://github.com/lovingyu) fallback to `ENV['TZ']`, gh-222
85
+ * Ramon Tayag (https://github.com/ramontayag) prevent day 0 in cronlines
86
+ * Akinori Musha (https://github.com/knu) `ENV['TZ']` setting is harmful
87
+ * Nicolás Satragno (https://twitter.com/nsatragno) parse_to_time vs Date
88
+ * d-m-u duhlmann (https://github.com/d-m-u) job opt hash preservation
89
+ * Anjali Sharma (https://github.com/anjali-sharma) fix typographical error
90
+ * Jonathan Campos (https://github.com/jonbcampos) negative cron day idea
91
+ * Andrey Morskov (https://github.com/accessd) fix typographical error
92
+ * Eduardo Maia (https://github.com/emaiax) rufus and the Rails console
93
+ * Suisea (https://github.com/suisea) readme rewording
94
+ * Radek (http://stackoverflow.com/users/250422) gh-166
95
+ * Patrik Ragnarsson (https://github.com/dentarg) timeout vs nil, gh-156
96
+ * Adefila (https://twitter.com/adefilaedward1) typo in readme
97
+ * Michael Guymon (https://github.com/mguymon) #next_time vs :first_at
98
+ * junhanamaki (https://github.com/junhanamaki) #next_time and dst ambiguities
99
+ * kreynolds (tossrock) - inspiration for #occurrences
100
+ * Matteo (https://github.com/m4ce) dst and cron issue
101
+ * Tobias Bielohlawek (https://github.com/rngtng) missing assertion
102
+ * Joe Taylor and Agis Anastasopoulos (http://stackoverflow.com/questions/21280870) `:first => :now` and `Job#call`
103
+ * Gatis Tomsons (https://github.io/gacha) heavy work threads and lock errors
104
+ * Joast (https://github.com/joast) missing .to_time_string alias (code and doc)
105
+ * Tamir Duberstein (https://github.com/tamird) rdoc inaccuracies
106
+ * Kevin Bouwkamp (https://github.com/bmxpert1) first_at issues
107
+ * Daniel Beauchamp (https://github.com/pushmatrix) pre/post trigger callbacks
108
+ * Arthur Maltson (https://github.com/amaltson) readme fixes
109
+ * skrd (https://github.com/skrd) `"/10 * * * *"` cron issue
110
+ * Hongli Lai - `Scheduler#stop(:terminate => true)` request
111
+ * Tero Tilus - raises on unsupported/unknown options
112
+ * Louis Coilliot - Scheduler#running_jobs
113
+ * Henrique G. Testa - pause/resume concept
114
+ * Sam Gibson (https://github.com/samfoo) exception handling hardening
115
+ * sha1dy (https://github.com/sha1dy) every and overlapping exception issue
116
+ * Defusal - unschedule_by_tag
117
+ * pickerel (https://github.com/pickerel)
118
+ * Gonzalo Suarez - parse_time_string(s) issue
119
+ * Tony Day (https://github.com/tonyday) every and overlapping timeout issue
120
+ * Nate Wiger (Schedulable call/trigger issue)
121
+ * Aldric (readme errors)
122
+ * Kenneth Kalmer (daemon-kit)
123
+ * Chris Evans, :timeout tests on JRuby
124
+ * Tim Uckun, :timeout concept
125
+ * K Liu, for the note about CronLine#next_time
126
+ * Xianhang Zhang, find_jobs(tag=nil) patch
127
+ * Yi Wen, for lib/rufus-scheduler.rb
128
+ * Adam Green and Rael Dornfest for the Taskr breaking issue feedback
129
+ * Sean Liu, unschedule_every issue
130
+ * Manfred Usselman (no cronjobs on sundays bug)
131
+ * Michael Goth, tests with precision &gt; 1s
132
+
133
+ * many people gave feedback previously, see
134
+ http://openwferu.rubyforge.org/svn/trunk/openwfe-ruby/CREDITS.txt (dead)
135
+
136
+
137
+ ## and finally
138
+
139
+ * Many thanks to the contributors of fugit (https://github.com/floraison/fugit) and et-orbi (https://github.com/floraison/et-orbi)
140
+ * Many thanks to the author and contributors of the tzinfo gem (http://tzinfo.github.io/)
141
+ * Many thanks to the EventMachine team (especially Aman Gupta)
142
+
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- Copyright (c) 2005-2015, John Mettraux, jmettraux@gmail.com
2
+ Copyright (c) 2005-2022, John Mettraux, jmettraux@gmail.com
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  of this software and associated documentation files (the "Software"), to deal
data/Makefile ADDED
@@ -0,0 +1,27 @@
1
+
2
+ NAME = \
3
+ $(shell ruby -e "s = eval(File.read(Dir['*.gemspec'][0])); puts s.name")
4
+ VERSION = \
5
+ $(shell ruby -e "s = eval(File.read(Dir['*.gemspec'][0])); puts s.version")
6
+
7
+ count_lines:
8
+ find lib -name "*.rb" | xargs cat | ruby -e "p STDIN.readlines.count { |l| l = l.strip; l[0, 1] != '#' && l != '' }"
9
+ find spec -name "*_spec.rb" | xargs cat | ruby -e "p STDIN.readlines.count { |l| l = l.strip; l[0, 1] != '#' && l != '' }"
10
+ cl: count_lines
11
+
12
+ gemspec_validate:
13
+ @echo "---"
14
+ ruby -e "s = eval(File.read(Dir['*.gemspec'].first)); p s.validate"
15
+ @echo "---"
16
+
17
+ name: gemspec_validate
18
+ @echo "$(NAME) $(VERSION)"
19
+
20
+ build: gemspec_validate
21
+ gem build $(NAME).gemspec
22
+ mkdir -p pkg
23
+ mv $(NAME)-$(VERSION).gem pkg/
24
+
25
+ push: build
26
+ gem push --otp "$(OTP)" pkg/$(NAME)-$(VERSION).gem
27
+