resilience

package
v0.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2025 License: MIT Imports: 12 Imported by: 1

Documentation

Index

Constants

View Source
const (
	CHANNEL_NOTIFY = "resilience/notify"
)

Variables

This section is empty.

Functions

func HttpGetResilience

func HttpGetResilience(w http.ResponseWriter, r *http.Request)

* * HttpGetResilience * @param w http.ResponseWriter, r *http.Request *

func HttpGetResilienceById

func HttpGetResilienceById(w http.ResponseWriter, r *http.Request)

* * HttpGetResilienceById * @param w http.ResponseWriter, r *http.Request *

func HttpGetResilienceByTag

func HttpGetResilienceByTag(w http.ResponseWriter, r *http.Request)

* * HttpGetResilienceByTag * @param w http.ResponseWriter, r *http.Request *

func Load

func Load() error

* * Load * @return error

Types

type Resilence

type Resilence struct {
	CreatedAt    time.Time
	Id           string
	Transactions []*Transaction
	Attempts     int
	TimeAttempts time.Duration
}

func NewResilence

func NewResilence() *Resilence

* * NewResilence * @return *Resilience

func (*Resilence) Done

func (s *Resilence) Done(transaction *Transaction)

* * Done * @param transaction *Transaction

func (*Resilence) GetById

func (s *Resilence) GetById(id string) *Transaction

* * GetById * @param id string * @return *Transaction

func (*Resilence) GetByTag

func (s *Resilence) GetByTag(tag string) *Transaction

* * GetByTag * @param tag string * @return *Transaction

func (*Resilence) Json

func (s *Resilence) Json() et.Json

func (*Resilence) Notify

func (s *Resilence) Notify(transaction *Transaction)

* * Notify * @param transaction *Transaction

func (*Resilence) Run

func (s *Resilence) Run(transaction *Transaction)

* * Run * @param transaction *Transaction

type Store

type Store int
const (
	StoreCache Store = iota
	StoreMemory
)

func (Store) String

func (s Store) String() string

type Transaction

type Transaction struct {
	CreatedAt     time.Time         `json:"created_at"`
	LastAttemptAt time.Time         `json:"last_attempt_at"`
	Id            string            `json:"id"`
	Tag           string            `json:"tag"`
	Description   string            `json:"description"`
	Status        TransactionStatus `json:"status"`
	Store         Store             `json:"store"`
	Attempts      int               `json:"attempts"`
	// contains filtered or unexported fields
}

func Add

func Add(tag, description string, fn interface{}, fnArgs ...interface{}) *Transaction

* * Add * @param tag, description string, fn interface{}, fnArgs ...interface{} * @return *Transaction

func NewTransaction

func NewTransaction(tag, description string, fn interface{}, fnArgs ...interface{}) *Transaction

* * Transaction * @param id, description string, fn interface{}, fnArgs ...interface{} * @return Transaction

func (*Transaction) Done

func (s *Transaction) Done() error

* * done * @return error *

func (*Transaction) Json

func (s *Transaction) Json() et.Json

* * Json * @return et.Json *

func (*Transaction) Run

func (s *Transaction) Run() ([]reflect.Value, error)

* * Run * @return error *

type TransactionStatus

type TransactionStatus string
const (
	StatusPending TransactionStatus = "pending"
	StatusSuccess TransactionStatus = "success"
	StatusRunning TransactionStatus = "running"
	StatusFailed  TransactionStatus = "failed"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL