Versions in this module Expand all Collapse all v0 v0.3.0 Jun 10, 2026 v0.2.0 Jun 10, 2026 Changes in this version + var ErrMaxRetriesExceeded = errors.New("max retries exceeded") + type Caravana struct + func (c *Caravana) Link(stages ...stage) + func (c *Caravana) Start() + func (c *Caravana) Stop() + type Event struct + Err error + In *P + IsRetry bool + Out *T + Stage string + Type EventType + func (e *Event[P, T]) String() string + type EventType int + const Emitted + const Error + const Processed + const Received + const Retry + func (t EventType) String() string + type OnEvent func(Event[P, T]) + type Option func(*TaskHolder[P, T]) + func WithCloseChannelsOnStop[P any, T any](shouldClose bool) Option[P, T] + func WithInterval[P any, T any](d time.Duration) Option[P, T] + func WithMaxRetries[P any, T any](n int) Option[P, T] + func WithName[P any, T any](name string) Option[P, T] + func WithOnEvent[P any, T any](cb OnEvent[P, T]) Option[P, T] + func WithOutput[P any, T any](ch chan T) Option[P, T] + func WithWorkers[P any, T any](n int) Option[P, T] + type TaskHolder struct + func NewTaskHolderFrom[P any, T any](in chan P, task func(P) (*T, bool, error), opts ...Option[P, T]) *TaskHolder[P, T] + func NewTaskHolder[P any, T any](task func(P) (*T, bool, error), opts ...Option[P, T]) *TaskHolder[P, T] + func (th *TaskHolder[P, T]) Start() + func (th *TaskHolder[P, T]) Stop()