Class: Redom::Worker
- Inherits:
-
Object
show all
- Includes:
- Utils
- Defined in:
- lib/redom/worker.rb
Instance Method Summary
collapse
Methods included from Utils
#_dispatcher, #_logger, dispatcher=, logger=
Constructor Details
#initialize ⇒ Worker
Returns a new instance of Worker.
5
6
7
|
# File 'lib/redom/worker.rb', line 5
def initialize
@queue = Queue.new
end
|
Instance Method Details
#do_task(task) ⇒ Object
30
31
32
|
# File 'lib/redom/worker.rb', line 30
def do_task(task)
@queue.push task
end
|
#start ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/redom/worker.rb', line 9
def start
@thread = Thread.start do
while task = @queue.pop
begin
task.resume
rescue
_logger.error "Task failed. ID='#{task.__id__}'\n"
_logger.error $!.message
$!.backtrace.each { |item|
_logger.error item
}
end
end
end
end
|
#stop ⇒ Object
25
26
27
28
|
# File 'lib/redom/worker.rb', line 25
def stop
@thread.kill
@queue.clear
end
|