Documentation
¶
Index ¶
- Constants
- func AppName(name string) utils.OptionFunc[useOption]
- func Args(args ...any) utils.OptionFunc[produceOption]
- func Construct(ctx context.Context, confs map[string]*Conf, opts ...utils.OptionExtender) func()
- func Deadline(t time.Time) utils.OptionFunc[produceOption]
- func Delay(d time.Duration) utils.OptionFunc[produceOption]
- func DelayAt(t time.Time) utils.OptionFunc[produceOption]
- func MaxRetry(n int) utils.OptionFunc[produceOption]
- func Queue(queue string) utils.OptionFunc[produceOption]
- func Retention(d time.Duration) utils.OptionFunc[produceOption]
- func TaskID(id string) utils.OptionFunc[produceOption]
- func Timeout(d time.Duration) utils.OptionFunc[produceOption]
- type Conf
- type Consumable
- type Producable
- type Task
Constants ¶
View Source
const ( ErrDuplicatedHandlerName utils.Error = "duplicated async handler name" ErrDuplicatedInstanceName utils.Error = "duplicated async instance name" ErrDuplicatedQueueName utils.Error = "duplicated async queue name" ErrConsumerDisabled utils.Error = "async consumer is disabled" ErrUnsupportedSchedulerType utils.Error = "unsupported async type" )
Variables ¶
This section is empty.
Functions ¶
func AppName ¶
func AppName(name string) utils.OptionFunc[useOption]
func Args ¶
func Args(args ...any) utils.OptionFunc[produceOption]
func MaxRetry ¶
func MaxRetry(n int) utils.OptionFunc[produceOption]
func Queue ¶
func Queue(queue string) utils.OptionFunc[produceOption]
func TaskID ¶
func TaskID(id string) utils.OptionFunc[produceOption]
Types ¶
type Conf ¶
type Conf struct {
Type asyncType `yaml:"type" json:"type" toml:"type"`
Instance string `yaml:"instance" json:"instance" toml:"instance"`
InstanceType instanceType `yaml:"instance_type" json:"instance_type" toml:"instance_type"`
Producer bool `yaml:"producer" json:"producer" toml:"producer" default:"true"`
Consumer bool `yaml:"consumer" json:"consumer" toml:"consumer" default:"false"`
ConsumerConcurrency int `yaml:"consumer_concurrency" json:"consumer_concurrency" toml:"consumer_concurrency"`
MessageSerializeType string `yaml:"message_serialize_type" json:"message_serialize_type" toml:"message_serialize_type" default:"gob"`
MessageCompressType string `yaml:"message_compress_type" json:"message_compress_type" toml:"message_compress_type"`
Queues []*queueConf `yaml:"queues" json:"queues" toml:"queues"`
StrictPriority bool `yaml:"strict_priority" json:"strict_priority" toml:"strict_priority"`
EnableLogger bool `yaml:"enable_logger" json:"enable_logger" toml:"enable_logger" default:"false"`
LogLevel string `yaml:"log_level" json:"log_level" toml:"log_level" default:"info"`
Logger string `yaml:"logger" json:"logger" toml:"logger" default:"github.com/wfusion/gofusion/log/customlogger.asyncLogger"`
LogInstance string `yaml:"log_instance" json:"log_instance" toml:"log_instance" default:"default"`
}
Conf async conf nolint: revive // struct tag too long issue
type Consumable ¶
type Consumable interface {
Use(mws ...routerMiddleware)
Handle(pattern string, fn any, opts ...utils.OptionExtender)
HandleFunc(fn any, opts ...utils.OptionExtender)
Serve() error
Start() error
// contains filtered or unexported methods
}
func C ¶
func C(name string, opts ...utils.OptionExtender) Consumable
type Producable ¶
type Producable interface {
Go(fn any, opts ...utils.OptionExtender) error
Goc(ctx context.Context, fn any, opts ...utils.OptionExtender) error
Send(ctx context.Context, taskName string, data any, opts ...utils.OptionExtender) (err error)
}
func P ¶
func P(name string, opts ...utils.OptionExtender) Producable
Click to show internal directories.
Click to hide internal directories.