tasks

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: AGPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultDNSValidationTaskConfig = DNSValidationTaskConfig{
	TaskName:     "dns:validate",
	DNSTXTRecord: "routehub_domainkey",
	TaskQueue:    "dns-validation",
	TaskPriority: 4,
}
View Source
var DefaultTaskServerConfig = TaskServerConfig{
	RedisAddr:      "localhost:6379",
	MonitoringPath: "/monitoring",
	MonitoringPort: "8081",
	Concurrency:    10,
}
View Source
var DefaultURLValidationTaskConfig = URLValidationTaskConfig{
	TaskName:     "url:validate",
	TaskQueue:    "url-validation",
	TaskPriority: 3,
}

Functions

This section is empty.

Types

type DNSValidationPayload

type DNSValidationPayload struct {
	Link  string `json:"link"`
	Value string `json:"value"`
}

type DNSValidationTask

type DNSValidationTask struct {
	Settings   Settings
	TaskConfig DNSValidationTaskConfig
}

func NewDNSValidationTask

func NewDNSValidationTask(settings Settings, DNSValidationTaskConfig DNSValidationTaskConfig) *DNSValidationTask

func NewDNSValidationTaskWithConfig

func NewDNSValidationTaskWithConfig(config DNSValidationTaskConfig) *DNSValidationTask

func NewDNSValidationTaskWithDefaults

func NewDNSValidationTaskWithDefaults() *DNSValidationTask

func (*DNSValidationTask) HandleDNSValidationTask

func (t *DNSValidationTask) HandleDNSValidationTask(ctx context.Context, task *asynq.Task) error

func (*DNSValidationTask) NewURLValidationTask

func (t *DNSValidationTask) NewURLValidationTask(link string, value string) (*asynq.Task, error)

func (*DNSValidationTask) SetTaskConfig

func (t *DNSValidationTask) SetTaskConfig(DNSValidationTaskConfig DNSValidationTaskConfig)

type DNSValidationTaskConfig

type DNSValidationTaskConfig struct {
	TaskName     string `koanf:"task_name"`
	DNSTXTRecord string `koanf:"dns_txt_record"`
	TaskQueue    string `koanf:"task_queue"`
	TaskPriority int    `koanf:"task_priority"`
}

type InfoPayload

type InfoPayload struct {
	ID string `json:"id"`
}

type Settings

type Settings struct {
	MaxRetry        int
	Timeout         time.Duration
	DeadlineTimeout time.Duration
	Queue           string
	QueuePriority   int
	Retention       time.Duration
}

func DefaultSettings

func DefaultSettings(Queue string, QueuePriority int) Settings

func (Settings) GetPriority

func (s Settings) GetPriority() map[string]int

type TaskResultPayload

type TaskResultPayload struct {
	IsValid bool    `json:"isValid"`
	Message *string `json:"message,omitempty"`
	Error   *string `json:"error,omitempty"`
}

func (TaskResultPayload) FromJson

func (p TaskResultPayload) FromJson(data []byte) error

func (TaskResultPayload) New

func (p TaskResultPayload) New(isValid bool, message string, err string) *TaskResultPayload

func (TaskResultPayload) ToJson

func (p TaskResultPayload) ToJson() ([]byte, error)

type TaskServer

type TaskServer struct {
	Config            TaskServerConfig
	DNSValidationTask *DNSValidationTask
	URLValidationTask *URLValidationTask
}

func (*TaskServer) AsynqmonServe

func (t *TaskServer) AsynqmonServe()

func (*TaskServer) NewClient

func (t *TaskServer) NewClient() *asynq.Client

func (*TaskServer) NewInspector

func (t *TaskServer) NewInspector() *asynq.Inspector

func (*TaskServer) Serve

func (t *TaskServer) Serve()

type TaskServerConfig

type TaskServerConfig struct {
	RedisAddr      string `koanf:"redis_addr"`
	MonitoringPath string `koanf:"monitoring_path"`
	MonitoringPort string `koanf:"monitoring_port"`
	Concurrency    int    `koanf:"concurrency"`
}

type URLValidationPayload

type URLValidationPayload struct {
	Link string `json:"link"`
}

type URLValidationTask

type URLValidationTask struct {
	Settings   Settings
	TaskConfig URLValidationTaskConfig
}

func NewURLValidationTask

func NewURLValidationTask(settings Settings) *URLValidationTask

func NewURLValidationTaskWithConfig

func NewURLValidationTaskWithConfig(config URLValidationTaskConfig) *URLValidationTask

func NewURLValidationTaskWithDefaults

func NewURLValidationTaskWithDefaults() *URLValidationTask

func (*URLValidationTask) HandleURLValidationTask

func (t *URLValidationTask) HandleURLValidationTask(ctx context.Context, task *asynq.Task) error

func (*URLValidationTask) NewURLValidationTask

func (t *URLValidationTask) NewURLValidationTask(link string) (*asynq.Task, error)

type URLValidationTaskConfig

type URLValidationTaskConfig struct {
	TaskName     string `koanf:"task_name"`
	TaskQueue    string `koanf:"task_queue"`
	TaskPriority int    `koanf:"task_priority"`
}

Jump to

Keyboard shortcuts

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