wrapchinery

package module
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2024 License: MIT Imports: 25 Imported by: 0

README

wrapchinery

Wrapped machinery package (v2) to send tasks more easily

Usage

Call wrapchinery.NewServer() instead of machinery.NewServer()

import (
github.com/gempages/wrapchinery
)

server := wrapchinery.NewServer(...)

Use wrapped functions:

// Create new worker
server.WrapNewWorker(concurrency int) *machinery.Worker
// Send a task
server.WrapSendTask(taskName string, delay time.Duration, retry int, args ...interface{}) (*result.AsyncResult, error)
// Send a task with context
server.WrapSendTaskWithContext(taskName string, ctx context.Context, delay time.Duration, retry int, args ...interface{}) (*result.AsyncResult, error)

Helper function to ease the pain of creating Signature:

wrapchinery.GetTaskSignature(taskName string, delay time.Duration, retry int, args ...interface{}) *tasks.Signature

Documentation

Index

Constants

View Source
const ShopIDHeader = "shopID"

Variables

This section is empty.

Functions

func GetTaskSignature

func GetTaskSignature(cfg *TaskConfig, args ...interface{}) *tasks.Signature

GetTaskSignature returns machinery's task signature object to use with SendTask and SendTaskWithContext functions

func InitTaskServer added in v1.2.0

func InitTaskServer() error

InitTaskServer initializes task server. Call this before registering tasks for workers.

func InitTestTaskServer added in v1.2.0

func InitTestTaskServer() error

InitTestTaskServer initializes task server for automation tests. Call this before registering tasks for workers.

func NewWorker added in v1.2.0

func NewWorker(concurrency int) *machinery.Worker

func RegisterTasks added in v1.2.0

func RegisterTasks(taskList map[string]interface{}) error

func SendTask added in v1.2.0

func SendTask(ctx context.Context, task *TaskConfig, args ...interface{}) (*result.AsyncResult, error)

func SendTaskWaitResult added in v1.2.0

func SendTaskWaitResult(ctx context.Context, task *TaskConfig, args ...interface{}) error

func SetupLoggers

func SetupLoggers()

Types

type TaskConfig added in v1.0.5

type TaskConfig struct {
	Name       string
	ShopID     uint64
	Delay      time.Duration
	RetryCount int
	OnSuccess  *TaskConfig
	OnError    *TaskConfig
}

type TaskServer added in v1.2.0

type TaskServer struct {
	machinery.Server
}

func Server

func Server() *TaskServer

func (*TaskServer) WrapNewWorker added in v1.2.0

func (m *TaskServer) WrapNewWorker(concurrency int) *machinery.Worker

WrapNewWorker creates a new machinery worker with a random UUID as tag

func (*TaskServer) WrapSendTask added in v1.2.0

func (m *TaskServer) WrapSendTask(cfg *TaskConfig, args ...interface{}) (*result.AsyncResult, error)

WrapSendTask calls machinery's SendTask function with task signature created using GetTaskSignature function

func (*TaskServer) WrapSendTaskWithContext added in v1.2.0

func (m *TaskServer) WrapSendTaskWithContext(ctx context.Context, cfg *TaskConfig, args ...interface{}) (*result.AsyncResult, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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