rufus-scheduler 2.0.24 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/CHANGELOG.txt +76 -0
  2. data/CREDITS.txt +23 -0
  3. data/LICENSE.txt +1 -1
  4. data/README.md +1439 -0
  5. data/Rakefile +1 -5
  6. data/TODO.txt +149 -55
  7. data/lib/rufus/{sc → scheduler}/cronline.rb +167 -53
  8. data/lib/rufus/scheduler/job_array.rb +92 -0
  9. data/lib/rufus/scheduler/jobs.rb +633 -0
  10. data/lib/rufus/scheduler/locks.rb +95 -0
  11. data/lib/rufus/scheduler/util.rb +306 -0
  12. data/lib/rufus/scheduler/zones.rb +174 -0
  13. data/lib/rufus/scheduler/zotime.rb +154 -0
  14. data/lib/rufus/scheduler.rb +608 -27
  15. data/rufus-scheduler.gemspec +6 -4
  16. data/spec/basics_spec.rb +54 -0
  17. data/spec/cronline_spec.rb +479 -152
  18. data/spec/error_spec.rb +139 -0
  19. data/spec/job_array_spec.rb +39 -0
  20. data/spec/job_at_spec.rb +58 -0
  21. data/spec/job_cron_spec.rb +128 -0
  22. data/spec/job_every_spec.rb +104 -0
  23. data/spec/job_in_spec.rb +20 -0
  24. data/spec/job_interval_spec.rb +68 -0
  25. data/spec/job_repeat_spec.rb +357 -0
  26. data/spec/job_spec.rb +498 -109
  27. data/spec/lock_custom_spec.rb +47 -0
  28. data/spec/lock_flock_spec.rb +47 -0
  29. data/spec/lock_lockfile_spec.rb +61 -0
  30. data/spec/lock_spec.rb +59 -0
  31. data/spec/parse_spec.rb +263 -0
  32. data/spec/schedule_at_spec.rb +158 -0
  33. data/spec/schedule_cron_spec.rb +66 -0
  34. data/spec/schedule_every_spec.rb +109 -0
  35. data/spec/schedule_in_spec.rb +80 -0
  36. data/spec/schedule_interval_spec.rb +128 -0
  37. data/spec/scheduler_spec.rb +928 -124
  38. data/spec/spec_helper.rb +126 -0
  39. data/spec/threads_spec.rb +96 -0
  40. data/spec/zotime_spec.rb +396 -0
  41. metadata +56 -33
  42. data/README.rdoc +0 -661
  43. data/lib/rufus/otime.rb +0 -3
  44. data/lib/rufus/sc/jobqueues.rb +0 -160
  45. data/lib/rufus/sc/jobs.rb +0 -471
  46. data/lib/rufus/sc/rtime.rb +0 -363
  47. data/lib/rufus/sc/scheduler.rb +0 -636
  48. data/lib/rufus/sc/version.rb +0 -32
  49. data/spec/at_in_spec.rb +0 -47
  50. data/spec/at_spec.rb +0 -125
  51. data/spec/blocking_spec.rb +0 -64
  52. data/spec/cron_spec.rb +0 -134
  53. data/spec/every_spec.rb +0 -304
  54. data/spec/exception_spec.rb +0 -113
  55. data/spec/in_spec.rb +0 -150
  56. data/spec/mutex_spec.rb +0 -159
  57. data/spec/rtime_spec.rb +0 -137
  58. data/spec/schedulable_spec.rb +0 -97
  59. data/spec/spec_base.rb +0 -87
  60. data/spec/stress_schedule_unschedule_spec.rb +0 -159
  61. data/spec/timeout_spec.rb +0 -148
  62. data/test/kjw.rb +0 -113
  63. data/test/t.rb +0 -20
data/CHANGELOG.txt CHANGED
@@ -2,6 +2,78 @@
2
2
  = rufus-scheduler CHANGELOG.txt
3
3
 
4
4
 
5
+ == rufus-scheduler - 3.1.0 released 2015/04/18
6
+
7
+ - go without tzinfo (and its dependencies)
8
+ - include @ketan's #next_time improvements
9
+ - remove 2.x warning message on install
10
+
11
+
12
+ == rufus-scheduler - 3.0.9 released 2014/08/30
13
+
14
+ - fix TZ with underscores, thanks https://github.com/gnilrets
15
+ - integrate https://github.com/ecin Lock mecha
16
+
17
+
18
+ == rufus-scheduler - 3.0.8 released 2014/06/09
19
+
20
+ - handle TZInfo errors on DST transitions, thanks https://github.com/junhanamaki
21
+ - implement Scheduler#up?
22
+ - let schedule and schedule_at use Chronic if present
23
+ - let Rufus::Scheduler.parse use Chronic if present
24
+
25
+
26
+ == rufus-scheduler - 3.0.7 released 2014/03/18
27
+
28
+ - implement Scheduler #occurrences and #timeline, inspired by kreynolds
29
+ - implement Job #last_work_time and #mean_work_time
30
+ - implement Job#count
31
+ - add more info to the stderr error output (scheduler/tz info)
32
+ - prevent skipping a day on switch to summertime, gh-114, thanks Matteo
33
+
34
+
35
+ == rufus-scheduler - 3.0.6 released 2014/02/14
36
+
37
+ - avoid "can't be called from trap context" on Ruby 2.0, gh-98
38
+
39
+
40
+ == rufus-scheduler - 3.0.5 released 2014/01/30
41
+
42
+ - implement Job#call(do_rescue=false), gh-97
43
+ - implement :first => :now for repeat jobs, gh-96
44
+
45
+
46
+ == rufus-scheduler - 3.0.4 released 2014/01/19
47
+
48
+ - make CronLine#frequency faster (to avoid 20s schedule_cron times)
49
+
50
+
51
+ == rufus-scheduler - 3.0.3 released 2013/12/12
52
+
53
+ - CronLine#previous_time fix by Yassen Bantchev (https://github.com/yassenb)
54
+ - introduce ZookeptScheduler example in the readme
55
+ - rename #consider_lockfile to #lock and introduce #unlock
56
+
57
+
58
+ == rufus-scheduler - 3.0.2 released 2013/10/22
59
+
60
+ - default :max_work_threads to 28
61
+ - fix "rufus rushes to create work threads" issue, thanks Gatis Tomsons
62
+ - introduce Rufus::Scheduler::NotRunningError, thanks Gatis Tomsons
63
+
64
+
65
+ == rufus-scheduler - 3.0.1 released 2013/10/19
66
+
67
+ - fix post_install_message, thanks Ted Pennings
68
+ - bring back .parse_time_string and .parse_duration_string
69
+
70
+
71
+ == rufus-scheduler - 3.0.0 released 2013/10/02
72
+
73
+ - complete rewrite.
74
+ - introduce scheduler.interval('10s') { ... }
75
+
76
+
5
77
  == rufus-scheduler - 2.0.24 released 2013/09/02
6
78
 
7
79
  - lowered tzinfo dependency to >= 0.3.22
@@ -142,5 +214,9 @@
142
214
  == rufus-scheduler - 2.0.1 released 2009/05/07
143
215
  == rufus-scheduler - 2.0.0 released 2009/05/07
144
216
 
217
+ ...
218
+
145
219
  - initial release
146
220
 
221
+ (was openwferu-scheduler before that)
222
+
data/CREDITS.txt CHANGED
@@ -4,7 +4,16 @@
4
4
 
5
5
  == Contributors
6
6
 
7
+ - Ketan Padegaonkar (https://github.com/ketan) .brute_frequency improvement
8
+ - Gabriel Gilder (https://github.com/ggilder) LA DST specs
9
+ - Sterling Paramore (https://github.com/gnilrets) underscore TZ fix
10
+ - ecin (https://github.com/ecin) new lock mecha
11
+ - Adam Jonas (https://github.com/adamjonas) migrate specs to "expect"
12
+ - Yassen Bantchev (https://github.com/yassenb) CronLine#previous_time rewrite
13
+ - Eric Lindvall (https://github.com/eric) Zookeeper locked example
14
+ - Ted Pennings (https://github.com/tedpennings) typo in post_install_message
7
15
  - Tobias Kraze (https://github.com/kratob) timeout vs mutex fix
16
+ - Patrick Farrell (https://github.com/pfarrell) pointing at deprecated start_new
8
17
  - Thomas Sevestre (https://github.com/thomassevestre) :exception option
9
18
  - Matteo Cerutti - last_time / previous_time idea (and initial implementation)
10
19
  - Aimee Rose (https://github.com/AimeeRose) cronline and > 24
@@ -26,6 +35,19 @@
26
35
 
27
36
  == Feedback
28
37
 
38
+ - Michael Guymon - https://github.com/mguymon - #next_time vs :first_at
39
+ - junhanamaki - https://github.com/junhanamaki - #next_time and dst ambiguities
40
+ - kreynolds (tossrock) - inspiration for #occurrences
41
+ - Matteo - https://github.com/m4ce - dst and cron issue
42
+ - Tobias Bielohlawek - https://github.com/rngtng - missing assertion
43
+ - Joe Taylor and Agis Anastasopoulos -
44
+ http://stackoverflow.com/questions/21280870 - :first => :now and Job#call
45
+ - Gatis Tomsons - https://github.io/gacha - heavy work threads and lock errors
46
+ - https://github.com/joast - missing .to_time_string alias (code and doc)
47
+ - Tamir Duberstein - https://github.com/tamird - rdoc inaccuracies
48
+ - Kevin Bouwkamp - https://github.com/bmxpert1 - first_at issues
49
+ - Daniel Beauchamp - https://github.com/pushmatrix - pre/post trigger callbacks
50
+ - Arthur Maltson - https://github.com/amaltson - readme fixes
29
51
  - skrd - https://github.com/skrd - "/10 * * * *" cron issue
30
52
  - Hongli Lai - Scheduler#stop(:terminate => true) request
31
53
  - Tero Tilus - raises on unsupported/unknown options
@@ -56,5 +78,6 @@
56
78
 
57
79
  == and finally
58
80
 
81
+ - many thanks to the author and contributors of the tzinfo gem (http://tzinfo.github.io/)
59
82
  - many thanks to the EventMachine team (especially Aman Gupta)
60
83
 
data/LICENSE.txt CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- Copyright (c) 2005-2013, John Mettraux, jmettraux@gmail.com
2
+ Copyright (c) 2005-2015, 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