Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@olleolleolle
Last active August 29, 2015 14:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olleolleolle/b78af4b668fe022af2f2 to your computer and use it in GitHub Desktop.
Save olleolleolle/b78af4b668fe022af2f2 to your computer and use it in GitHub Desktop.
A backtrace of running a Celluloid program on JRuby 1.7.21 and on 9.0.0.0.rc2 and on master (0f616f984ba51ccd4d8ddafc53dd8dab93b4e5dc).
ERROR [2015-07-20 19:48:46.521] BackgroundWorkers: org.jruby.RubyArray.compact_bang(RubyArray.java:2007)
org.jruby.RubyArray.compatc19(RubyArray.java:2038)
org.jruby.RubyArray$INVOKER$i$0$0$compatc19.call(RubyArray$INVOKER$i$0$0$compatc19.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
org.jruby.ast.DNode.appendToString(DNode.java:70)
org.jruby.ast.DNode.buildDynamicString(DNode.java:88)
org.jruby.ast.DNode.interpret(DNode.java:36)
org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:112)
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:169)
org.jruby.RubyKernel.public_send(RubyKernel.java:1930)
org.jruby.RubyKernel$INVOKER$s$0$0$public_send.call(RubyKernel$INVOKER$s$0$0$public_send.gen)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:210)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:336)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:179)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183)
org.jruby.runtime.callsite.CachingCallSite.callVarargs(CachingCallSite.java:113)
rubyjit.Celluloid::Call$$dispatch_5e38fb7d2fe1bc982bd133f0b257909e5702b37f166239592.chained_0_rescue_1$RUBY$SYNTHETIC__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25)
rubyjit.Celluloid::Call$$dispatch_5e38fb7d2fe1bc982bd133f0b257909e5702b37f166239592.__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
rubyjit.Celluloid::Call$$dispatch_5e38fb7d2fe1bc982bd133f0b257909e5702b37f166239592.__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:201)
org.jruby.runtime.callsite.SuperCallSite.callBlock(SuperCallSite.java:190)
org.jruby.runtime.callsite.SuperCallSite.call(SuperCallSite.java:197)
rubyjit.Celluloid::SyncCall$$dispatch_9c7bb48da5b48e7e3b2a20b8e6f06f61a1026b68166239592.chained_1_rescue_1$RUBY$SYNTHETIC__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67)
rubyjit.Celluloid::SyncCall$$dispatch_9c7bb48da5b48e7e3b2a20b8e6f06f61a1026b68166239592.chained_0_ensure_1$RUBY$__ensure__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
rubyjit.Celluloid::SyncCall$$dispatch_9c7bb48da5b48e7e3b2a20b8e6f06f61a1026b68166239592.__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
rubyjit.Celluloid::SyncCall$$dispatch_9c7bb48da5b48e7e3b2a20b8e6f06f61a1026b68166239592.__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:181)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168)
rubyjit.Celluloid::Actor$$handle_message_51f8d5836011878482c891ce681f44e23722f2d2166239592.block_0$RUBY$__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322)
rubyjit$Celluloid::Actor$$handle_message_51f8d5836011878482c891ce681f44e23722f2d2166239592$block_0$RUBY$__file__.call(rubyjit$Celluloid::Actor$$handle_message_51f8d5836011878482c891ce681f44e23722f2d2166239592$block_0$RUBY$__file__)
org.jruby.runtime.CompiledBlock19.yieldSpecificInternal(CompiledBlock19.java:117)
org.jruby.runtime.CompiledBlock19.yieldSpecific(CompiledBlock19.java:92)
org.jruby.runtime.Block.yieldSpecific(Block.java:111)
rubyjit.Celluloid::Actor$$task_a0c8fafd0521470c2660ee502d7763d7a30762bb166239592.block_0$RUBY$__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416)
rubyjit$Celluloid::Actor$$task_a0c8fafd0521470c2660ee502d7763d7a30762bb166239592$block_0$RUBY$__file__.call(rubyjit$Celluloid::Actor$$task_a0c8fafd0521470c2660ee502d7763d7a30762bb166239592$block_0$RUBY$__file__)
org.jruby.runtime.CompiledBlock19.yieldSpecificInternal(CompiledBlock19.java:117)
org.jruby.runtime.CompiledBlock19.yieldSpecific(CompiledBlock19.java:92)
org.jruby.runtime.Block.yieldSpecific(Block.java:111)
rubyjit.Celluloid::Task$$initialize_1f90d1b08aebb577bffa3d8c17964ad7d7dbfe08166239592.chained_1_rescue_1$RUBY$SYNTHETIC__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55)
rubyjit.Celluloid::Task$$initialize_1f90d1b08aebb577bffa3d8c17964ad7d7dbfe08166239592.chained_0_ensure_1$RUBY$__ensure__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/tasks.rb)
rubyjit.Celluloid::Task$$initialize_1f90d1b08aebb577bffa3d8c17964ad7d7dbfe08166239592.block_0$RUBY$__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:47)
rubyjit$Celluloid::Task$$initialize_1f90d1b08aebb577bffa3d8c17964ad7d7dbfe08166239592$block_0$RUBY$__file__.call(rubyjit$Celluloid::Task$$initialize_1f90d1b08aebb577bffa3d8c17964ad7d7dbfe08166239592$block_0$RUBY$__file__)
org.jruby.runtime.CompiledBlock19.yieldSpecificInternal(CompiledBlock19.java:117)
org.jruby.runtime.CompiledBlock19.yieldSpecific(CompiledBlock19.java:92)
org.jruby.runtime.Block.yieldSpecific(Block.java:111)
rubyjit.Celluloid::TaskFiber$$create_a4d77cdd1dfa08afdf4a8ded40f48696f746b3a8166239592.block_0$RUBY$__file__(/Users/olle/work/server/src/server/gems/jruby/1.9/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13)
rubyjit$Celluloid::TaskFiber$$create_a4d77cdd1dfa08afdf4a8ded40f48696f746b3a8166239592$block_0$RUBY$__file__.call(rubyjit$Celluloid::TaskFiber$$create_a4d77cdd1dfa08afdf4a8ded40f48696f746b3a8166239592$block_0$RUBY$__file__)
org.jruby.runtime.CompiledBlock19.yield(CompiledBlock19.java:159)
org.jruby.runtime.CompiledBlock19.yield(CompiledBlock19.java:145)
org.jruby.runtime.Block.yieldArray(Block.java:158)
org.jruby.ext.fiber.ThreadFiber$1.run(ThreadFiber.java:223)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
ERROR [2015-07-20 19:59:57.053] BackgroundWorkers: org.jruby.RubyArray.compact_bang(RubyArray.java:1909)
org.jruby.RubyArray.compact19(RubyArray.java:1937)
org.jruby.RubyArray$INVOKER$i$0$0$compact19.call(RubyArray$INVOKER$i$0$0$compact19.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:293)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:305)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:77)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:129)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:115)
org.jruby.RubyKernel.public_send(RubyKernel.java:1824)
org.jruby.RubyKernel$INVOKER$s$0$0$public_send.call(RubyKernel$INVOKER$s$0$0$public_send.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.invokeOther5:public_send(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.RUBY$method$dispatch$0(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25)
org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:101)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:113)
org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:890)
org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:883)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.invokeSuper14:dispatch(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.RUBY$method$dispatch$0(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67)
org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:131)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:183)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:201)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:161)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.invokeOther32:dispatch(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.RUBY$block$handle_message$3(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:456)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.RUBY$block$task$1(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:456)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.tasks.RUBY$block$initialize$2(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:456)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.tasks.task_fiber.RUBY$block$create$2(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:146)
org.jruby.runtime.BlockBody.yield(BlockBody.java:83)
org.jruby.runtime.Block.yieldArray(Block.java:161)
org.jruby.ext.fiber.ThreadFiber$1.run(ThreadFiber.java:259)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
ERROR [2015-07-20 20:23:17.182] BackgroundWorkers: org.jruby.RubyArray.compact_bang(RubyArray.java:1898)
org.jruby.RubyArray.compact19(RubyArray.java:1926)
org.jruby.RubyArray$INVOKER$i$0$0$compact19.call(RubyArray$INVOKER$i$0$0$compact19.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:293)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:131)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:305)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:77)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:128)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:114)
org.jruby.RubyKernel.public_send(RubyKernel.java:1824)
org.jruby.RubyKernel$INVOKER$s$0$0$public_send.call(RubyKernel$INVOKER$s$0$0$public_send.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.invokeOther5:public_send(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.RUBY$method$dispatch$0(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:25)
org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:101)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:112)
org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:892)
org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:884)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.invokeSuper14:dispatch(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.calls.RUBY$method$dispatch$0(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/calls.rb:67)
org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:131)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:182)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:201)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:161)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.invokeOther32:dispatch(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.RUBY$block$handle_message$3(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:322)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:457)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.actor.RUBY$block$task$1(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/actor.rb:416)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:457)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.tasks.RUBY$block$initialize$2(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/tasks.rb:55)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66)
org.jruby.runtime.Block.yieldSpecific(Block.java:116)
org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:457)
Users.olle.work.server.src.server.gems.jruby.$2_dot_2_dot_0.gems.celluloid_minus_0_dot_15_dot_2.lib.celluloid.tasks.task_fiber.RUBY$block$create$2(/Users/olle/work/server/src/server/gems/jruby/2.2.0/gems/celluloid-0.15.2/lib/celluloid/tasks/task_fiber.rb:13)
org.jruby.runtime.CompiledIRBlockBody.commonYieldPath(CompiledIRBlockBody.java:70)
org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:146)
org.jruby.runtime.BlockBody.yield(BlockBody.java:83)
org.jruby.runtime.Block.yieldArray(Block.java:161)
org.jruby.ext.fiber.ThreadFiber$1.run(ThreadFiber.java:259)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
class WorkerSupervisor
include Celluloid
finalizer :stop_workers
def stop_workers
@terminating = true
stopped = @workers.map { |worker| stop_worker(worker) }
@logger.info "Stopped #{stopped.count} background workers (#{stopped.compact.join(' ')})"
end
private
def stop_worker(actor)
worker_class = @classes[actor]
actor.terminate
cleanup_after_worker(actor)
worker_class
rescue Celluloid::DeadActorError
end
def cleanup_after_worker(actor)
@workers.delete(actor)
@classes.delete(actor)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment