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.
189 190 191 192 193 194 195 196 197 198 199 200 |
# File 'lib/rsched/engine.rb', line 189 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
202 203 204 |
# File 'lib/rsched/engine.rb', line 202 def init_proc(kill_proc) @kill_proc = kill_proc end |
#join ⇒ Object
210 211 212 |
# File 'lib/rsched/engine.rb', line 210 def join @thread.join end |
#reset_token ⇒ Object
223 224 225 226 227 |
# File 'lib/rsched/engine.rb', line 223 def reset_token synchronize do @token = nil end end |
#set_token(token) ⇒ Object
214 215 216 217 218 219 220 221 |
# File 'lib/rsched/engine.rb', line 214 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
229 230 231 |
# File 'lib/rsched/engine.rb', line 229 def shutdown @finished = true end |
#start ⇒ Object
206 207 208 |
# File 'lib/rsched/engine.rb', line 206 def start @thread = Thread.new(&method(:run)) end |