tasks

package module
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

README

Tasks

An extension to flows that queues and handles long running tasks.

Caveat

The development of this repository is somewhat rushed at the beginning, expect volatile API.

Documentation

Index

Constants

View Source
const (
	QualifierRabbitProducer         = "QualifierRabbitProducer"
	QualifierRabbitConsumerExecutor = "QualifierRabbitConsumerExecutor"
	QualifierRabbitConsumer         = "QualifierRabbitConsumer"
)
View Source
const (
	QualifierCron = "QualifierCron"
)

Variables

This section is empty.

Functions

func GetRabbitProducer

func GetRabbitProducer(ctx context.Context, ci inverse.Container) (task.Producer, error)

func RegisterConsumer

func RegisterConsumer(
	container inverse.Container,
	name string,
	rabbitConnectionString string,
	channel string,
	configs []runtime.Configuration[*runtime_rabbit.Consumer],
)

func RegisterConsumerConfig

func RegisterConsumerConfig(ci inverse.Container, configs ...runtime.Configuration[*runtime_rabbit.Consumer])

func RegisterConsumerExecutor

func RegisterConsumerExecutor(ci inverse.Container, injector func(ctx context.Context, ci inverse.Container) (task.Executor[structure.Bytes], error))

func RegisterCron added in v0.0.5

func RegisterCron(
	container inverse.Container,
	configs []runtime.Configuration[*runtime_cron.Cron],
)

func RegisterCronConfig added in v0.0.5

func RegisterCronConfig(ci inverse.Container, configs ...runtime.Configuration[*runtime_cron.Cron])

func RegisterProducer

func RegisterProducer(
	container inverse.Container,
	name string,
	rabbitConnectionString string,
	configs []runtime.Configuration[*runtime_rabbit.Producer],
)

func RegisterProducerConfig

func RegisterProducerConfig(ci inverse.Container, configs ...runtime.Configuration[*runtime_rabbit.Producer])

func ResolveCronConfigTaskProducer added in v0.1.0

func ResolveCronConfigTaskProducer(ctx context.Context, ci inverse.Container) (runtime.Configuration[*runtime_cron.Cron], error)

Types

type CronConfiguration added in v0.0.5

type CronConfiguration[OK any, OV any, T any] struct {
	Name                        string
	TaskChannel                 task.Channel[T]
	Scheduler                   task.Scheduler[OK, OV, T]
	Schedules                   []string
	TaskConnectionString        string
	HttpPort                    int
	RabbitProducerConfiguration []runtime.Configuration[*runtime_rabbit.Producer]
	RetryConfiguration          []runtime.Configuration[*runtime_retry.Retry]
	RouteConfiguration          []runtime.Configuration[*runtime_bunrouter.Router]
}

func (CronConfiguration[OK, OV, T]) Register added in v0.0.5

func (c CronConfiguration[OK, OV, T]) Register(ci inverse.Container)

type ExecutorConfiguration added in v0.1.5

type ExecutorConfiguration[T any] struct {
	Name                        string
	TaskChannel                 task.Channel[T]
	TaskExecutor                task.Executor[T]
	TaskConnectionString        string
	HttpPort                    int
	RabbitConsumerConfiguration []runtime.Configuration[*runtime_rabbit.Consumer]
	RetryConfiguration          []runtime.Configuration[*runtime_retry.Retry]
	RouteConfiguration          []runtime.Configuration[*runtime_bunrouter.Router]
}

func (ExecutorConfiguration[T]) Register added in v0.1.5

func (c ExecutorConfiguration[T]) Register(ci inverse.Container)

Jump to

Keyboard shortcuts

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