mirror of
https://github.com/hibiken/asynq.git
synced 2025-09-19 05:17:30 +08:00
Move Broker interface to base package
This commit is contained in:
24
asynq.go
24
asynq.go
@@ -7,10 +7,8 @@ package asynq
|
||||
import (
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/go-redis/redis/v7"
|
||||
"github.com/hibiken/asynq/internal/base"
|
||||
)
|
||||
|
||||
// Task represents a unit of work to be performed.
|
||||
@@ -32,28 +30,6 @@ func NewTask(typename string, payload map[string]interface{}) *Task {
|
||||
}
|
||||
}
|
||||
|
||||
// broker is a message broker that supports operations to manage task queues.
|
||||
//
|
||||
// See rdb.RDB as a reference implementation.
|
||||
type broker interface {
|
||||
Enqueue(msg *base.TaskMessage) error
|
||||
EnqueueUnique(msg *base.TaskMessage, ttl time.Duration) error
|
||||
Dequeue(qnames ...string) (*base.TaskMessage, error)
|
||||
Done(msg *base.TaskMessage) error
|
||||
Requeue(msg *base.TaskMessage) error
|
||||
Schedule(msg *base.TaskMessage, processAt time.Time) error
|
||||
ScheduleUnique(msg *base.TaskMessage, processAt time.Time, ttl time.Duration) error
|
||||
Retry(msg *base.TaskMessage, processAt time.Time, errMsg string) error
|
||||
Kill(msg *base.TaskMessage, errMsg string) error
|
||||
RequeueAll() (int64, error)
|
||||
CheckAndEnqueue(qnames ...string) error
|
||||
WriteServerState(ss *base.ServerState, ttl time.Duration) error
|
||||
ClearServerState(ss *base.ServerState) error
|
||||
CancelationPubSub() (*redis.PubSub, error) // TODO: Need to decouple from redis to support other brokers
|
||||
PublishCancelation(id string) error
|
||||
Close() error
|
||||
}
|
||||
|
||||
// RedisConnOpt is a discriminated union of types that represent Redis connection configuration option.
|
||||
//
|
||||
// RedisConnOpt represents a sum of following types:
|
||||
|
Reference in New Issue
Block a user