process_queue (Merb::Worker)

    # File lib/merb-core/dispatch/worker.rb, line 41
        def process_queue
          begin
            while blk = Merb::Dispatcher.work_queue.pop
               # we've been blocking on the queue waiting for an item sleeping.
               # when someone pushes an item it wakes up this thread so we
               # immediately pass execution to the scheduler so we don't
               # accidentally run this block before the action finishes
               # it's own processing
              Thread.pass
              blk.call
              break if Merb::Dispatcher.work_queue.empty? && Merb.exiting
            end
          rescue Exception => e
            Merb.logger.warn! %Q!Worker Thread Crashed with Exception:\n#{Merb.exception(e)}\nRestarting Worker Thread!
            retry
          end
        end