Sha256: a6ccfa16541d3fea354308709c6a7c0df6d8b998be083a8df2275fdd8b5561ec

Contents?: true

Size: 560 Bytes

Versions: 7

Compression:

Stored size: 560 Bytes

Contents

module Writefully
  module Workers
    class BaseWorker
      include Celluloid

      trap_exit :actor_died

      attr_reader :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 "An error occured #{reason.message}"
        on_death(actor, reason) if self.respond_to?(:on_death)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
writefully-0.4.6 lib/writefully/workers/base_worker.rb
writefully-0.4.5 lib/writefully/workers/base_worker.rb
writefully-0.4.4 lib/writefully/workers/base_worker.rb
writefully-0.4.2 lib/writefully/workers/base_worker.rb
writefully-0.4.1 lib/writefully/workers/base_worker.rb
writefully-0.4.0 lib/writefully/workers/base_worker.rb
writefully-0.3.6 lib/writefully/workers/base_worker.rb