wrapchinery

package module
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2022 License: MIT Imports: 14 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

This section is empty.

Variables

This section is empty.

Functions

func GetTaskSignature

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

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

func SetupLoggers

func SetupLoggers()

Types

type Server

type Server struct {
	machinery.Server
}

func NewServer

func NewServer(
	cnf *config.Config, brokerServer brokersiface.Broker,
	backendServer backendsiface.Backend, lock lockiface.Lock,
) *Server

NewServer creates Server instance

func (*Server) WrapNewWorker

func (m *Server) WrapNewWorker() *machinery.Worker

WrapNewWorker creates a new machinery worker with a random UUID as tag and concurrency = number of CPU x2

func (*Server) WrapSendTask

func (m *Server) WrapSendTask(taskName string, delay time.Duration, retry int, args ...interface{}) (*result.AsyncResult, error)

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

func (*Server) WrapSendTaskWithContext

func (m *Server) WrapSendTaskWithContext(
	taskName string, ctx context.Context, delay time.Duration, retry int, 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