globocom / globocom/edison

Multiple circuits wrapping

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
2
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Sample code

```elixir
# Error
defmodule Error1 do
defexception [:term]

def message(exception) do
"#{__MODULE__}: #{exception.term}"
end
end
defmodule Error2 do
defexception [:term]

def message(exception) do
"#{__MODULE__}: #{exception.term}"
end
end

# Configuration
config :edison, :circuit_breaker,
circuit1: [
threshold: 1,
rescue_from: Error1,
],
circuit2: [
threshold: 1,
rescue_from: Error2,
],

# Examples
Edison.circuit_breaker :circuit1, :circuit2 do
raise %Error1{term: :critical} # Should increment circuit1 counter
end

Edison.circuit_breaker :circuit1, :circuit2 do
raise %Error1{term: :critical} # Should increment circuit1 counter
end

Edison.circuit_breaker :circuit1, :circuit2 do
raise %Error1{term: :critical} # Should return {:unavailable, :circuit_closed}
end
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.