Sha256: 09bdc651549dd68ec2d5ecb3c2b7cc81fd90ae47af5cf43204a4566a1d0af11b

Contents?: true

Size: 576 Bytes

Versions: 1

Compression:

Stored size: 576 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.class} #{reason.message}"
        on_death(actor, reason) if self.respond_to?(:on_death)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
writefully-0.4.7 lib/writefully/workers/base_worker.rb