- For fugit >= 1.11.1
- Introduce :first_at_no_error option, austinarbor gh-342
- Add note about Chronic and "Wed at 2pm", gh-340
- Let AtJob and InJob accept discard_past:
- Enforce discard_past for At and In jobs, gh-339
- Prevent error in shutdown when @thread is current Thread, gh-337
- Rescue errors on the scheduling thread, gh-335
- Suppress warning about @resume_discard_past
- Suppress warning about unused variable, solackerman gh-332
- Add #source_location to Job, gh-322
-
Implement Job name:/n: #name and #name=, gh-309
-
Add Job #has_key?, #value, and #entries
-
Add #locals access to Job
-
Implement Scheduler#around_trigger, @jjb, gh-310
-
Accept max_worker_threads: for max_work_threads:
-
Clean up Scheduler#shutdwon, thanks @itsaphel and @jjb, gh-304, gh-315
-
f59df40 Bring in discard_past: for every jobs, gh-290
-
7613277 Introduce :discard_past = false for cron, gh-305
- Let Scheduler#cron fail if the cron string is invalid, gh-289
- Implement Job#next_times(count) for cron, every, and interval jobs
- Implement Job#next_times(count) for at and in jobs
- Stop fooling around and stick to https://semver.org
- Use Fugit::Cron#rough_frequency
- Improve Job#check_frequency performance, gh-276, @drcapulet
- Upgrade fugit to 1.1.4 (with out of DST issue fix)
- Ensure JRuby doesn't count fresh, new, work threads as vacant
- Use fugit to parse durations
- Drop .parse_time_string and .parse_duration_string
- Use fugit to parse cronlines
(had yanked 3.4.1, going 3.4.2)
- Let #schedule accept a CronLine instance, gh-247
- Stop supporting Ruby < 1.9
- Drop ZoTime for et-orbi Etorbi::EoTime, gh-240
- Fix for ZooKeeper example, thanks to @djrodgerspryor, gh-238
- More detailed "cannot determine timezone from nil" message, gh-237
- use Rails' timezone by default if Rails is present, gh-230, gh-233, thanks Alexander Deeb
- is_a?(Fixnum) replaced by is_a?(Integer), gh-232, thanks Cody Cutrer
- Fix for every double trigger, gh-231, thanks Sofia Bravo
- Fix ZoTime issue with
Time.zone.now #=> 'CST'
, thanks zzjin - Fix cron weekdays + monthdays, by Dominik Sander, https://github.com/dsander
- Speedup CronLine#brute_frequency, by Dominik Sander
- Use object_id instead of hash to make Job id
- gh-222 fall back on
ENV['TZ']
when Time.now.zone is something like "中国标准时间" (ask for "Asia/Shanghai"), thanks to https://github.com/lovingyu
- Bring in Piavka's Job#trigger_off_schedule, gh-214
- Reject "day 0" in cronlines, thanks to Ramon Tayag, https://github.com/ramontayag
- Move away from
ENV['TZ']
, thanks to Akinori Musha, https://github.com/knu - Fix .parse_to_time vs Date issue, as reported by @nsatragno
- job opt hash preservation, as suggested in gh-212, by https://github.com/d-m-u
- introduce Job#previous_time
- countered ActiveRecord 3.2.22 on gh-210, by https://github.com/paulodelgado
- accept
'* * * * 5L'
(last friday) (equivalent to'* * * * 5#-1'
) - CronLine#to_a (#to_array aliasing to it)
- simplify .parse_duration (and trim input)
- raise on
"*/0 * * * *"
, by https://github.com/simook - introduce "days to end of month" in cron strings
- cache CronLine#brute_frequency results, gh-188 and gh-89
- "every" shift prevention by https://github.com/Korrigan
- Ruby warnings silenced by https://github.com/vivitar
- allow for
:first_in => 0
, gh-179 by https://github.com/JonMcPherson for https://github.com/Shopify/dashing/commit/ea3730fa4 - stop shipping specs in gem
- fix potential RuntimeError in CronLine#prev_second, by Alexandru https://github.com/alexandru-calinoiu
- stop jumping eagerly out of DST, fix for one hour jump when leaving DST thanks Alyssa http://github.com/alyssa
- ack #unscheduled_at in #scheduled?, by Claude https://github.com/claudeatsafe
- fix job id uniqueness (JRuby), thanks 김성식 https://github.com/kssminus
- fix for "not a valid cronline" on "mingw" Ruby distributions, gh-166
- fix cron issue reported by Jesse https://github.com/jhw-at-prosperworks-com
- prevent
Thread[:rufus_scheduler_time]
being nil, gh-156 - fix inconsistency in Job#start_work_thread
- avoid cron/:first_at infinite loop, thanks https://github.com/pouellet
- fix ZoTime.is_timezone? on OSX, thanks https://github.com/yaauie
- go without tzinfo (and its dependencies)
- include @ketan's #next_time improvements
- remove 2.x warning message on install
- fix TZ with underscores, thanks https://github.com/gnilrets
- integrate https://github.com/ecin Lock mecha
- handle TZInfo errors on DST transitions, thanks https://github.com/junhanamaki
- implement Scheduler#up?
- let schedule and schedule_at use Chronic if present
- let Rufus::Scheduler.parse use Chronic if present
- implement Scheduler #occurrences and #timeline, inspired by kreynolds
- implement Job #last_work_time and #mean_work_time
- implement Job#count
- add more info to the stderr error output (scheduler/tz info)
- prevent skipping a day on switch to summertime, gh-114, thanks Matteo
- avoid "can't be called from trap context" on Ruby 2.0, gh-98
- implement Job#call(do_rescue=false), gh-97
- implement
:first => :now
for repeat jobs, gh-96
- make CronLine#frequency faster (to avoid 20s schedule_cron times)
- CronLine#previous_time fix by Yassen Bantchev (https://github.com/yassenb)
- introduce ZookeptScheduler example in the readme
- rename #consider_lockfile to #lock and introduce #unlock
- default :max_work_threads to 28
- fix "rufus rushes to create work threads" issue, thanks Gatis Tomsons
- introduce Rufus::Scheduler::NotRunningError, thanks Gatis Tomsons
- fix post_install_message, thanks Ted Pennings
- bring back .parse_time_string and .parse_duration_string
- complete rewrite.
- introduce scheduler.interval('10s') { ... }
- lowered tzinfo dependency to >= 0.3.22 http://stackoverflow.com/questions/18551970
- mutex vs timeout fix by Tobias Kraze
- parse
"/10 * * * *"
again (like <= 2.0.19 did), thanks @skrd
- add license (MIT) to gemspec file
- add Rufus::Scheduler.new (so that rs 3.0 quickstarts are OK with 2.0.20)
- implement CronLine#previous_time(now=Time.now) (Idea Matteo Cerutti)
- throw ArgumentError for invalid cron lines (Thanks Aimee Rose)
- cron 0 vs 24 hour case straightening (Thanks Aimee Rose)
- support for sun#L or sun#-2 in cron lines
- raise ArgumentError on <= 0.0 "every" frequency (Thanks Lucy Fu)
- support multiple mutexes (Thanks Rainux Luo)
- support for "L" in cron lines (Thanks Andrew Davey)
- support for negative time strings (Thanks Danny "northox" Fullerton)
- reject invalid weekdays (Thanks pazustep)
- @andrehjr patch to make it work on Ruby 1.9.3
- raises ArgumentError on unknown/unsupported options (Idea Tero Tilus)
- hardened Rufus.parse_time_string
- running job thread: getting rid of the job pointer once job is done
- Scheduler#running_jobs (Thanks Louis Coilliot)
- Job #pause and #resume
- Scheduler #pause(job_or_job_id) and #resume(job_or_job_id)
- Scheduler#unschedule(job_or_job_id)
- cron lines now OK with "09". Thanks Anthony Lewis
- hardened exception handling. Thanks Sam Gibson
- accepting #handle_exception, #log_exception or #on_exception
scheduler.in '1s', :mutex => 'that_mutex_name'
- require 'rufus-scheduler' works
- every and allow_overlapping now surviving exceptions. Thanks sha1dy
Scheduler#first_at
and:discard_past => true
. Thanks concept47Scheduler#cron
and monthdays (sun#2 or mon#1)Scheduler#unschedule_by_tag(t)
- issue with cron
"0 7-23/2 * * *"
fixed. Thanks Pickerel
:allow_overlapping => false
, thanks Adam Davies- cron and timezones, thanks Tanzeeb Khalili
Scheduler#trigger_threads
, thanks Tim Uckun
- timeout jobs not outliving their parent job anymore, thanks Joel Wood
- fixed parse_time_string(s) issue, thanks Gonzalo Suarez
- addressing issue with every and timeout, thanks Tony Day
- made sure Schedulables with a call(job) method were OK when passed as second parameter (thanks Nate Wiger)
- unified JobQueue and CronJobQueue, and handed @last_second management to the latter
- #trigger_block method for easier override
- passing
:job => job
among Schedulable trigger parameters
...
(was openwferu-scheduler before that)