421 I, [2016-09-02T16:54:15.082910 #13978] INFO -- : fetched 420
422 I, [2016-09-02T16:54:15.082972 #13978] INFO -- : fetched 421
423 I, [2016-09-02T16:54:15.083034 #13978] INFO -- : fetched 422
424 I, [2016-09-02T16:54:15.083093 #13978] INFO -- : fetched 423
425 I, [2016-09-02T16:54:15.083155 #13978] INFO -- : fetched 424
426 I, [2016-09-02T16:54:15.083216 #13978] INFO -- : fetched 425
427 I, [2016-09-02T16:54:15.083277 #13978] INFO -- : fetched 426
428 I, [2016-09-02T16:54:15.083340 #13978] INFO -- : fetched 427
429 I, [2016-09-02T16:54:15.113703 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
430 I, [2016-09-02T16:54:15.122618 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
431 I, [2016-09-02T16:54:15.122700 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
432 I, [2016-09-02T16:54:15.122742 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
433 I, [2016-09-02T16:54:15.122778 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
434 I, [2016-09-02T16:54:15.122812 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
435 I, [2016-09-02T16:54:15.122847 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
436 I, [2016-09-02T16:54:15.122880 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
437 I, [2016-09-02T16:54:15.122912 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
438 I, [2016-09-02T16:54:15.122944 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
439 I, [2016-09-02T16:54:15.122978 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
440 I, [2016-09-02T16:54:15.123010 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
441 I, [2016-09-02T16:54:15.123068 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
442 I, [2016-09-02T16:54:15.123102 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
443 I, [2016-09-02T16:54:15.123134 #13978] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
require "logger"require "celluloid/current"
f = File.open("logs/celluloid.log", "w+")
Celluloid.logger = ::Logger.new(f)
class ErrorHandler
include Celluloid
include Celluloid::Internals::Logger
trap_exit :actor_died
def actor_died(actor, reason)
info "actor: #{actor.inspect} reason: #{reason.class}"
end
end
class QueueFetch
include Celluloid
include Celluloid::Internals::Logger
def fetch(queue_url)
info "fetched #{queue_url}"
end
end
pool = QueueFetch.pool(size: 200, args: [])
err_handler = ErrorHandler.new
pool.actors.each{|a| a.link err_handler }
1_000.times { |n| pool.async.fetch(n) }
I, [2016-09-02T18:59:35.202066 #15589] INFO -- : actor: #<::Celluloid::Proxy::Cell(QueueFetch) dead> reason: NilClass
It says in the docs that the pool will shutdown actors properly when its garbage collected. Is that outdated?
https://github.com/celluloid/celluloid/wiki/Pools#shutdown
Thanks for your help! I should remember anytime I think it's the lib it's almost always me