Sha256: 2511005baeb453a03c272c04021f97213142c6210f694846c78da59f88fa4c92

Contents?: true

Size: 579 Bytes

Versions: 13

Compression:

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
writefully-0.6.11 lib/writefully/workers/base_worker.rb
writefully-0.6.10 lib/writefully/workers/base_worker.rb
writefully-0.6.9 lib/writefully/workers/base_worker.rb
writefully-0.6.7 lib/writefully/workers/base_worker.rb
writefully-0.6.6 lib/writefully/workers/base_worker.rb
writefully-0.6.5 lib/writefully/workers/base_worker.rb
writefully-0.6.4 lib/writefully/workers/base_worker.rb
writefully-0.6.3 lib/writefully/workers/base_worker.rb
writefully-0.6.2 lib/writefully/workers/base_worker.rb
writefully-0.5.1 lib/writefully/workers/base_worker.rb
writefully-0.5.0 lib/writefully/workers/base_worker.rb
writefully-0.4.10 lib/writefully/workers/base_worker.rb
writefully-0.4.8 lib/writefully/workers/base_worker.rb