Source File
doc.go
Belonging Package
github.com/hibiken/asynq
// Copyright 2020 Kentaro Hibino. All rights reserved.// Use of this source code is governed by a MIT license// that can be found in the LICENSE file./*Package asynq provides a framework for Redis based distrubted task queue.Asynq uses Redis as a message broker. To connect to redis,specify the connection using one of RedisConnOpt types.redisConnOpt = asynq.RedisClientOpt{Addr: "127.0.0.1:6379",Password: "xxxxx",DB: 2,}The Client is used to enqueue a task.client := asynq.NewClient(redisConnOpt)// Task is created with two parameters: its type and payload.// Payload data is simply an array of bytes. It can be encoded in JSON, Protocol Buffer, Gob, etc.b, err := json.Marshal(ExamplePayload{UserID: 42})if err != nil {log.Fatal(err)}task := asynq.NewTask("example", b)// Enqueue the task to be processed immediately.info, err := client.Enqueue(task)// Schedule the task to be processed after one minute.info, err = client.Enqueue(t, asynq.ProcessIn(1*time.Minute))The Server is used to run the task processing workers with a givenhandler.srv := asynq.NewServer(redisConnOpt, asynq.Config{Concurrency: 10,})if err := srv.Run(handler); err != nil {log.Fatal(err)}Handler is an interface type with a method whichtakes a task and returns an error. Handler should return nil ifthe processing is successful, otherwise return a non-nil error.If handler panics or returns a non-nil error, the task will be retried in the future.Example of a type that implements the Handler interface.type TaskHandler struct {// ...}func (h *TaskHandler) ProcessTask(ctx context.Context, task *asynq.Task) error {switch task.Type {case "example":var data ExamplePayloadif err := json.Unmarshal(task.Payload(), &data); err != nil {return err}// perform task with the datadefault:return fmt.Errorf("unexpected task type %q", task.Type)}return nil}*/package asynq
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |