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.