worker

package
v0.4.3 Latest Latest
Warning

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

Go to latest
Published: Jun 29, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	QueueCritical = "critical"
	QueueDefault  = "default"
	QueueLow      = "low"
)
View Source
const TaskSendEmailVerificationCode = "task:sendEmailVerification"
View Source
const TaskSendPasswordResetCode = "task:sendPasswordResetCode"
View Source
const TaskSendUserDeletionCode = "task:sendEmailUserDeletion"

Variables

This section is empty.

Functions

func RunTaskProcessor

func RunTaskProcessor(
	ctx context.Context,
	wg *errgroup.Group,
	logr zerolog.Logger,
	store db.Store,
	mailer mail.Sender,
	config config.Config,
	redisOpt asynq.RedisClientOpt,
)

Types

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

func NewLogger

func NewLogger(logger zerolog.Logger) *Logger

func (*Logger) Debug

func (l *Logger) Debug(args ...interface{})

func (*Logger) Error

func (l *Logger) Error(args ...interface{})

Error logs a message at Error level.

func (*Logger) Fatal

func (l *Logger) Fatal(args ...interface{})

Fatal logs a message at Fatal level and process will exit with status set to 1.

func (*Logger) Info

func (l *Logger) Info(args ...interface{})

Info logs a message at Info level.

func (*Logger) Print

func (l *Logger) Print(level zerolog.Level, args ...interface{})

func (*Logger) Warn

func (l *Logger) Warn(args ...interface{})

Warn logs a message at Warning level.

type PayloadEmailVerificationCode

type PayloadEmailVerificationCode struct {
	Token string `json:"token"`
}

type PayloadPasswordResetCode

type PayloadPasswordResetCode struct {
	Token string `json:"token"`
}

type PayloadUserDeletionCode

type PayloadUserDeletionCode struct {
	Token string `json:"token"`
}

type RedisTaskDistributor

type RedisTaskDistributor struct {
	// contains filtered or unexported fields
}

func (*RedisTaskDistributor) DistributeTaskSendEmailVerificationCode

func (d *RedisTaskDistributor) DistributeTaskSendEmailVerificationCode(
	ctx context.Context,
	payload PayloadEmailVerificationCode,
	opts ...asynq.Option,
) error

func (*RedisTaskDistributor) DistributeTaskSendPasswordResetCode

func (d *RedisTaskDistributor) DistributeTaskSendPasswordResetCode(
	ctx context.Context,
	payload PayloadPasswordResetCode,
	opts ...asynq.Option,
) error

func (*RedisTaskDistributor) DistributeTaskSendUserDeletionCode

func (d *RedisTaskDistributor) DistributeTaskSendUserDeletionCode(
	ctx context.Context,
	payload PayloadUserDeletionCode,
	opts ...asynq.Option,
) error

func (*RedisTaskDistributor) Shutdown

func (d *RedisTaskDistributor) Shutdown()

close redis

type RedisTaskProcessor

type RedisTaskProcessor struct {
	// contains filtered or unexported fields
}

RedisTaskProcessor implements the TaskProcessor interface

func (*RedisTaskProcessor) ProcessTaskSendEmailVerificationCode

func (p *RedisTaskProcessor) ProcessTaskSendEmailVerificationCode(
	ctx context.Context,
	task *asynq.Task,
) error

func (*RedisTaskProcessor) ProcessTaskSendPasswordResetCode

func (p *RedisTaskProcessor) ProcessTaskSendPasswordResetCode(
	ctx context.Context,
	task *asynq.Task,
) error

func (*RedisTaskProcessor) ProcessTaskSendUserDeletionCode

func (p *RedisTaskProcessor) ProcessTaskSendUserDeletionCode(
	ctx context.Context,
	task *asynq.Task,
) error

func (*RedisTaskProcessor) Shutdown

func (processor *RedisTaskProcessor) Shutdown()

func (*RedisTaskProcessor) Start

func (processor *RedisTaskProcessor) Start() error

Start starts the RedisTaskProcessor

type TaskDistributor

type TaskDistributor interface {
	Shutdown()

	DistributeTaskSendEmailVerificationCode(
		ctx context.Context,
		payload PayloadEmailVerificationCode,
		opts ...asynq.Option,
	) error

	DistributeTaskSendUserDeletionCode(
		ctx context.Context,
		payload PayloadUserDeletionCode,
		opts ...asynq.Option,
	) error

	DistributeTaskSendPasswordResetCode(
		ctx context.Context,
		payload PayloadPasswordResetCode,
		opts ...asynq.Option,
	) error
}

func NewRedisTaskDistributor

func NewRedisTaskDistributor(
	logger zerolog.Logger,
	redisOpts asynq.RedisClientOpt,
) TaskDistributor

type TaskProcessor

type TaskProcessor interface {
	Start() error
	Shutdown()
	ProcessTaskSendEmailVerificationCode(ctx context.Context, task *asynq.Task) error
	ProcessTaskSendUserDeletionCode(ctx context.Context, task *asynq.Task) error
	ProcessTaskSendPasswordResetCode(ctx context.Context, task *asynq.Task) error
}

func NewRedisTaskProcessor

func NewRedisTaskProcessor(
	logger zerolog.Logger,
	store db.Store,
	mailer mail.Sender,
	config config.Config,
	redisOpts asynq.RedisClientOpt,
) (TaskProcessor, error)

NewRedisTaskProcessor creates a new RedisTaskProcessor

Jump to

Keyboard shortcuts

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