mirror of
https://github.com/hibiken/asynq.git
synced 2025-04-22 08:40:22 +08:00
Define TaskInfo and TaskState
This commit is contained in:
parent
d9481bd524
commit
12ed810cfc
@ -173,6 +173,49 @@ func (i *Inspector) DeleteQueue(qname string, force bool) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// TaskInfo describes a task.
|
||||
type TaskInfo interface {
|
||||
// ID returns the unique identifier of the task.
|
||||
ID() string
|
||||
// Type returns the type name of the task.
|
||||
Type() string
|
||||
// Payload returns the payload data of the task.
|
||||
Payload() []byte
|
||||
// State returns a TaskState representing the state of the task.
|
||||
State() TaskState
|
||||
// Queue returns the name of the queue the task belongs to.
|
||||
Queue() string
|
||||
// MaxRetry returns the maximum number of times the task can be retried.
|
||||
MaxRetry() int
|
||||
// Retried returns the number of times the task has been retried.
|
||||
Retried() int
|
||||
// Deadline returns the deadline set for the task.
|
||||
Deadline() time.Time
|
||||
// Timeout returns the timeout duration set for the task.
|
||||
Timeout() time.Duration
|
||||
// NextProcessAt returns the time the task will be ready to be processed.
|
||||
// Zero value of time.Time is used when task is in pending, active, or archived
|
||||
// state.
|
||||
NextProcessAt() time.Time
|
||||
// LastFailedAt returns the time the task last failed.
|
||||
// Zero value of time.Time is used if the task has not failed.
|
||||
LastFailedAt() time.Time
|
||||
// LastErr returns the error message from the last failure.
|
||||
// Empty string is returned if the task has not failed.
|
||||
LastErr() string
|
||||
}
|
||||
|
||||
// TaskState represents the state of a task.
|
||||
type TaskState int
|
||||
|
||||
const (
|
||||
TaskStatePending TaskState = iota
|
||||
TaskStateActive
|
||||
TaskStateScheduled
|
||||
TaskStateRetry
|
||||
TaskStateArchived
|
||||
)
|
||||
|
||||
// PendingTask is a task in a queue and is ready to be processed.
|
||||
type PendingTask struct {
|
||||
*asynq.Task
|
||||
|
Loading…
x
Reference in New Issue
Block a user