Sha256: 277f9f84214b0703794d6fcab6edcd2c0a779741e12a80d53c40336c75c9dbe8

Contents?: true

Size: 606 Bytes

Versions: 8

Compression:

Stored size: 606 Bytes

Contents

$:.unshift File.dirname(__FILE__)+"/../../lib/"
require 'magent'

Magent.push("errors", :fail, "this is a fail")

class Error
  include Magent::Actor

  channel_name "errors"
  expose :fail

  def fail(payload)
    @count ||= 0
    errors = self.class.channel.errors

    errors.each do |error|
      @count += 1
      $stderr.puts "Retrying: #{error["method"]}(#{error["payload"].inspect})"
      self.class.channel.retry_error(error)
    end

    if @count == 0
      raise payload.inspect
    end
  end
end

Magent.register(Error.new)

if $0 == __FILE__
  Magent::Processor.new(Error.channel).run!
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
magent-0.6.2 examples/error/error.rb
magent-0.6.1 examples/error/error.rb
magent-0.6.0 examples/error/error.rb
magent-0.5.4 examples/error/error.rb
magent-0.5.3 examples/error/error.rb
magent-0.5.2 examples/error/error.rb
magent-0.5.1 examples/error/error.rb
magent-0.5.0 examples/error/error.rb