forked from RichardKnop/machinery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
interfaces.go
24 lines (22 loc) · 984 Bytes
/
interfaces.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package backends
import (
"github.com/RichardKnop/machinery/v1/signatures"
)
// Backend - a common interface for all result backends
type Backend interface {
// Group related functions
InitGroup(groupUUID string, taskUUIDs []string) error
GroupCompleted(groupUUID string, groupTaskCount int) (bool, error)
GroupTaskStates(groupUUID string, groupTaskCount int) ([]*TaskState, error)
TriggerChord(groupUUID string) (bool, error)
// Setting / getting task state
SetStatePending(signature *signatures.TaskSignature) error
SetStateReceived(signature *signatures.TaskSignature) error
SetStateStarted(signature *signatures.TaskSignature) error
SetStateSuccess(signature *signatures.TaskSignature, result *TaskResult) error
SetStateFailure(signature *signatures.TaskSignature, err string) error
GetState(taskUUID string) (*TaskState, error)
// Purging stored stored tasks states and group meta data
PurgeState(taskUUID string) error
PurgeGroupMeta(groupUUID string) error
}