Class: RSched::Engine::TimerThread
- Inherits:
-
Object
- Object
- RSched::Engine::TimerThread
- Includes:
- MonitorMixin
- Defined in:
- lib/rsched/engine.rb
Instance Method Summary collapse
- #init_proc(kill_proc) ⇒ Object
-
#initialize(lock, extend_timeout, kill_timeout, kill_retry) ⇒ TimerThread
constructor
A new instance of TimerThread.
- #join ⇒ Object
- #reset_token ⇒ Object
- #set_token(token) ⇒ Object
- #shutdown ⇒ Object
- #start ⇒ Object
Constructor Details
#initialize(lock, extend_timeout, kill_timeout, kill_retry) ⇒ TimerThread
Returns a new instance of TimerThread.
184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/rsched/engine.rb', line 184 def initialize(lock, extend_timeout, kill_timeout, kill_retry) super() @lock = lock @extend_timeout = extend_timeout @kill_timeout = kill_timeout @kill_retry = kill_retry @kill_time = nil @kill_proc = nil @extend_time = nil @token = nil @finished = false end |
Instance Method Details
#init_proc(kill_proc) ⇒ Object
197 198 199 |
# File 'lib/rsched/engine.rb', line 197 def init_proc(kill_proc) @kill_proc = kill_proc end |
#join ⇒ Object
205 206 207 |
# File 'lib/rsched/engine.rb', line 205 def join @thread.join end |
#reset_token ⇒ Object
218 219 220 221 222 |
# File 'lib/rsched/engine.rb', line 218 def reset_token synchronize do @token = nil end end |
#set_token(token) ⇒ Object
209 210 211 212 213 214 215 216 |
# File 'lib/rsched/engine.rb', line 209 def set_token(token) synchronize do now = Time.now.to_i @extend_time = now + @extend_timeout @kill_time = now + @kill_timeout @token = token end end |
#shutdown ⇒ Object
224 225 226 |
# File 'lib/rsched/engine.rb', line 224 def shutdown @finished = true end |
#start ⇒ Object
201 202 203 |
# File 'lib/rsched/engine.rb', line 201 def start @thread = Thread.new(&method(:run)) end |