Files
tasks/service/history/circuitbreakerpool/circuit_breaker_factory.go
zeekay 5a601d081b rebrand: go.temporal.io/server -> github.com/hanzoai/tasks
Full module path rebrand from Temporal to Hanzo Tasks:
- go.mod module: github.com/hanzoai/tasks
- All internal Go imports updated (1906 files)
- cmd/server renamed to cmd/tasksd
- Binary name: tasksd (was temporal-server)
- Docker images: hanzoai/tasks (was temporalio/server)
- README rewritten with Hanzo Tasks branding
- LLM.md created with integration notes
- Makefile, goreleaser, CI workflows updated
- go.temporal.io/sdk and go.temporal.io/api imports preserved (separate repos)

Fork of Temporal.io (MIT license).
2026-03-19 10:36:40 -07:00

23 lines
566 B
Go

package circuitbreakerpool
import (
"github.com/hanzoai/tasks/common/circuitbreaker"
"github.com/hanzoai/tasks/common/collection"
)
type CircuitBreakerPool[K comparable] struct {
m *collection.OnceMap[K, circuitbreaker.TwoStepCircuitBreaker]
}
func (p *CircuitBreakerPool[K]) Get(key K) circuitbreaker.TwoStepCircuitBreaker {
return p.m.Get(key)
}
func NewCircuitBreakerPool[K comparable](
constructor func(key K) circuitbreaker.TwoStepCircuitBreaker,
) *CircuitBreakerPool[K] {
return &CircuitBreakerPool[K]{
m: collection.NewOnceMap(constructor),
}
}