Class: PerfectSched::Backend
- Inherits:
-
Object
- Object
- PerfectSched::Backend
show all
- Defined in:
- lib/perfectsched/backend.rb
Instance Method Summary
collapse
-
#acquire(timeout, now = Time.now.to_i) ⇒ Object
> token, task.
-
#add(id, cron, delay, data, start_time) ⇒ Object
> true (success) or nil (already exists).
-
#add_checked(id, cron, delay, data, next_time, timeout) ⇒ Object
> true (success) or nil (already exists).
-
#close ⇒ Object
-
#delete(id) ⇒ Object
> true (success) or false (not found, canceled or finished).
-
#finish(token, next_time) ⇒ Object
> true (success) or false (canceled).
-
#initialize ⇒ Backend
constructor
A new instance of Backend.
-
#list(&block) ⇒ Object
> list {|id,cron,delay,data,next_time,timeout| … }.
-
#modify(id, cron, delay, data) ⇒ Object
> true (success) or false (not found).
-
#modify_checked(id, cron, delay, data) ⇒ Object
-
#modify_data(id, data) ⇒ Object
> true (success) or false (not found).
-
#modify_data_checked(id, data) ⇒ Object
-
#modify_sched(id, cron, delay) ⇒ Object
> true (success) or false (not found).
-
#modify_sched_checked(id, cron, delay) ⇒ Object
Constructor Details
Returns a new instance of Backend.
19
20
21
|
# File 'lib/perfectsched/backend.rb', line 19
def initialize
@croncalc = CronCalc.new
end
|
Instance Method Details
#acquire(timeout, now = Time.now.to_i) ⇒ Object
28
29
|
# File 'lib/perfectsched/backend.rb', line 28
def acquire(timeout, now=Time.now.to_i)
end
|
#add(id, cron, delay, data, start_time) ⇒ Object
> true (success) or nil (already exists)
36
37
38
39
40
|
# File 'lib/perfectsched/backend.rb', line 36
def add(id, cron, delay, data, start_time)
first_time = @croncalc.next_time(cron, start_time.to_i)
timeout = first_time + delay
add_checked(id, cron, delay, data, first_time, timeout)
end
|
#add_checked(id, cron, delay, data, next_time, timeout) ⇒ Object
> true (success) or nil (already exists)
43
44
|
# File 'lib/perfectsched/backend.rb', line 43
def add_checked(id, cron, delay, data, next_time, timeout)
end
|
#close ⇒ Object
78
79
|
# File 'lib/perfectsched/backend.rb', line 78
def close
end
|
#delete(id) ⇒ Object
> true (success) or false (not found, canceled or finished)
47
48
|
# File 'lib/perfectsched/backend.rb', line 47
def delete(id)
end
|
#finish(token, next_time) ⇒ Object
> true (success) or false (canceled)
32
33
|
# File 'lib/perfectsched/backend.rb', line 32
def finish(token, next_time)
end
|
#list(&block) ⇒ Object
> list {|id,cron,delay,data,next_time,timeout| … }
24
25
|
# File 'lib/perfectsched/backend.rb', line 24
def list(&block)
end
|
#modify(id, cron, delay, data) ⇒ Object
> true (success) or false (not found)
51
52
53
54
55
|
# File 'lib/perfectsched/backend.rb', line 51
def modify(id, cron, delay, data)
cron = cron.strip
@croncalc.next_time(cron, 0)
modify_checked(id, cron, delay, data)
end
|
#modify_checked(id, cron, delay, data) ⇒ Object
57
58
|
# File 'lib/perfectsched/backend.rb', line 57
def modify_checked(id, cron, delay, data)
end
|
#modify_data(id, data) ⇒ Object
> true (success) or false (not found)
71
72
73
|
# File 'lib/perfectsched/backend.rb', line 71
def modify_data(id, data)
modify_data_checked(id, data)
end
|
#modify_data_checked(id, data) ⇒ Object
75
76
|
# File 'lib/perfectsched/backend.rb', line 75
def modify_data_checked(id, data)
end
|
#modify_sched(id, cron, delay) ⇒ Object
> true (success) or false (not found)
61
62
63
64
65
|
# File 'lib/perfectsched/backend.rb', line 61
def modify_sched(id, cron, delay)
cron = cron.strip
@croncalc.next_time(cron, 0)
modify_sched_checked(id, cron, delay)
end
|
#modify_sched_checked(id, cron, delay) ⇒ Object
67
68
|
# File 'lib/perfectsched/backend.rb', line 67
def modify_sched_checked(id, cron, delay)
end
|