sidekiq

package module
v1.0.20 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2022 License: MIT Imports: 10 Imported by: 0

README

SidekiqWorker for Golang

Dependencies 依赖
  • Redis
Usage 使用方法

1.在你的项目中的config目录下创建以下文件

workers.yml

This is a example.

2.workers

example 示例

3.main

example 示例

workers.yml配置说明
---
- name: TreatWorker							# worker的名称
  queue: sidekiq:example:treat  			# 消息进入的queue
  log: logs/treat_worker.log				# 日志
  threads: 1								# 并发处理数量

Documentation

Index

Constants

View Source
const (
	DefaultLog   = "logs/workers.log"
	DefaultQueue = "sidekiq-go:queue:default"
)

Variables

View Source
var (
	Stoping = errors.New("stoping")
)

Functions

func Execute added in v1.0.13

func Execute(worker WorkerI, exception *Exception) (err error)

func PureRun added in v1.0.16

func PureRun(worker WorkerI) (idle, processed bool, err error)

func Run

func Run(worker WorkerI) (idle, processed bool, err error)

Types

type Exception

type Exception struct {
	Msg string
}

type Worker

type Worker struct {
	Name    string `yaml:"name"`
	Queue   string `yaml:"queue"`
	Log     string `yaml:"log"`
	Threads int    `yaml:"threads"`
	Prefix  string `yaml:"prefix"`
	Payload string
	Ready   bool
	Conn    redis.Conn
	// contains filtered or unexported fields
}

func (*Worker) Execute added in v1.0.12

func (worker *Worker) Execute() (err error)

func (*Worker) Fail

func (worker *Worker) Fail()

func (*Worker) GetLog

func (worker *Worker) GetLog() string

func (*Worker) GetLogFolder

func (worker *Worker) GetLogFolder() string

func (*Worker) GetName

func (worker *Worker) GetName() string

func (*Worker) GetQuerySize added in v0.1.14

func (worker *Worker) GetQuerySize() int

func (*Worker) GetQueue

func (worker *Worker) GetQueue() string

func (*Worker) GetQueueDelay

func (worker *Worker) GetQueueDelay() string

func (*Worker) GetQueueDone

func (worker *Worker) GetQueueDone() string

func (*Worker) GetQueueErrors

func (worker *Worker) GetQueueErrors() string

func (*Worker) GetQueueFailed added in v0.0.3

func (worker *Worker) GetQueueFailed() string

func (*Worker) GetQueueProcessing

func (worker *Worker) GetQueueProcessing() string

func (*Worker) GetRedisConn added in v1.0.1

func (worker *Worker) GetRedisConn() redis.Conn

func (*Worker) InitLogger

func (worker *Worker) InitLogger()

func (*Worker) IsReady added in v0.1.22

func (worker *Worker) IsReady() bool

func (*Worker) LogDebug

func (worker *Worker) LogDebug(text ...interface{})

func (*Worker) LogError

func (worker *Worker) LogError(text ...interface{})

func (*Worker) LogInfo

func (worker *Worker) LogInfo(text ...interface{})

附加:记录log

func (*Worker) Perform added in v0.1.6

func (worker *Worker) Perform(message map[string]string)

func (*Worker) Priority added in v0.1.21

func (worker *Worker) Priority(message map[string]string)

func (*Worker) Processed added in v0.0.3

func (worker *Worker) Processed()

func (*Worker) Processing added in v0.0.3

func (worker *Worker) Processing()

func (*Worker) ReRunErrors added in v0.0.3

func (worker *Worker) ReRunErrors()

func (*Worker) Recycle added in v0.1.22

func (worker *Worker) Recycle()

func (*Worker) RegisterQueue added in v0.0.4

func (worker *Worker) RegisterQueue()

func (*Worker) SetPayload

func (worker *Worker) SetPayload(payload string)

func (*Worker) SetRedisConn added in v1.0.16

func (worker *Worker) SetRedisConn(conn redis.Conn)

func (*Worker) Start added in v0.1.22

func (worker *Worker) Start()

func (*Worker) Stop added in v0.1.22

func (worker *Worker) Stop()

func (*Worker) Success

func (worker *Worker) Success()

func (*Worker) Work

func (worker *Worker) Work() (err error)

type WorkerI

type WorkerI interface {
	InitLogger()
	RegisterQueue()

	GetName() string

	GetQueue() string
	GetQuerySize() int
	GetQueueErrors() string

	GetLog() string
	GetLogFolder() string
	LogInfo(text ...interface{})
	LogDebug(text ...interface{})
	LogError(text ...interface{})

	SetPayload(string)
	SetRedisConn(redis.Conn)
	GetRedisConn() redis.Conn

	Processing()
	Processed()
	Work() error
	Fail()
	Success()
	ReRunErrors()

	Perform(map[string]string)
	Priority(map[string]string)

	IsReady() bool
	Start()
	Stop()
	Recycle()

	Execute() error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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