Sha256: 51cdf08d69698029d1d541c1a51bb046de2dea84501deed6be85fc0dc3dad58d

Contents?: true

Size: 591 Bytes

Versions: 5

Compression:

Stored size: 591 Bytes

Contents

module Writefully
  module Workers
    class BaseWorker
      include Celluloid

      trap_exit :actor_died

      attr_accessor :message

      def perform(message)
        @message = message
        self.__send__ message[:task]
      end

      def close_db_connection!
        ::ActiveRecord::Base.clear_active_connections! if defined?(::ActiveRecord)
      end

      def actor_died(actor, reason)
        Writefully.logger.error "#{reason.class} #{reason.message} #{reason.backtrace}" if reason
        on_death(actor, reason) if self.respond_to?(:on_death)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
writefully-0.8.2 lib/writefully/workers/base_worker.rb
writefully-0.8.1 lib/writefully/workers/base_worker.rb
writefully-0.8.0 lib/writefully/workers/base_worker.rb
writefully-0.7.1 lib/writefully/workers/base_worker.rb
writefully-0.6.12 lib/writefully/workers/base_worker.rb