Recurring job with a certain frequency.
Methods
public class
public instance
protected instance
Attributes
| frequency | [R] | The frequency, in seconds, of this EveryJob |
Public class methods
new
(scheduler, t, params, &block)
[show source]
# File lib/rufus/sc/jobs.rb, line 237 237: def initialize (scheduler, t, params, &block) 238: super 239: determine_frequency 240: determine_at 241: end
Public instance methods
trigger
()
Triggers the job (and reschedules it).
[show source]
# File lib/rufus/sc/jobs.rb, line 245 245: def trigger 246: 247: schedule_next 248: 249: super 250: 251: #unschedule if @params[:dont_reschedule] 252: # obsolete 253: end
Protected instance methods
determine_at
()
[show source]
# File lib/rufus/sc/jobs.rb, line 263 263: def determine_at 264: 265: return unless @frequency 266: 267: @last = @at 268: # the first time, @last will be nil 269: 270: @at = if @last 271: @last + @frequency 272: else 273: if fi = @params[:first_in] 274: Time.now.to_f + Rufus.duration_to_f(fi) 275: elsif fa = @params[:first_at] 276: Rufus.at_to_f(fa) 277: else 278: Time.now.to_f + @frequency 279: end 280: end 281: end
determine_frequency
()
[show source]
# File lib/rufus/sc/jobs.rb, line 257 257: def determine_frequency 258: 259: @frequency = @t.is_a?(Fixnum) || @t.is_a?(Float) ? 260: @t : Rufus.parse_duration_string(@t) 261: end
schedule_next
()
It’s an every job, have to schedule next time it occurs...
[show source]
# File lib/rufus/sc/jobs.rb, line 285 285: def schedule_next 286: 287: determine_at 288: 289: @scheduler.send(:add_job, self) 290: end