Documentation
¶
Index ¶
- type Job
- func (job *Job) Failed() *Result
- func (job *Job) Fields() []interface{}
- func (job *Job) Finished(status Status)
- func (job *Job) Pending() *Result
- func (job *Job) SetCategory(value string) *Job
- func (job *Job) SetData(key string, value interface{}) *Job
- func (job *Job) SetID(value string) *Job
- func (job *Job) SetName(value string) *Job
- func (job *Job) SetOrigin(value string) *Job
- func (job *Job) SetPriority(value Priority) *Job
- func (job *Job) SetPriorityCritical() *Job
- func (job *Job) SetPriorityHigh() *Job
- func (job *Job) SetPriorityLow() *Job
- func (job *Job) SetPriorityMedium() *Job
- func (job *Job) SetPriorityNone() *Job
- func (job *Job) SetPrivate(key string, value interface{}) *Job
- func (job *Job) SetRetries(value int) *Job
- func (job *Job) SetRunAfter(value time.Time) *Job
- func (job *Job) Succeeded() *Result
- type Metrics
- type Model
- type Priority
- type Result
- type Runner
- type Status
- type Step
- type Storage
- type Workflow
- func (wf *Workflow) Fields() []interface{}
- func (wf *Workflow) Finished()
- func (wf *Workflow) SetData(key string, value interface{}) *Workflow
- func (wf *Workflow) SetDescription(value string) *Workflow
- func (wf *Workflow) SetExternalID(value string) *Workflow
- func (wf *Workflow) SetID(value string) *Workflow
- func (wf *Workflow) SetOrigin(value string) *Workflow
- func (wf *Workflow) SetPriority(value Priority) *Workflow
- func (wf *Workflow) SetPriorityCritical() *Workflow
- func (wf *Workflow) SetPriorityHigh() *Workflow
- func (wf *Workflow) SetPriorityLow() *Workflow
- func (wf *Workflow) SetPriorityMedium() *Workflow
- func (wf *Workflow) SetPriorityNone() *Workflow
- func (wf *Workflow) SetType(value string) *Workflow
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Job ¶
type Job struct {
ID string `json:"id"`
Name string `json:"name"`
Namespace string `json:"namespace"`
Type string `json:"type"`
Origin string `json:"origin"`
Priority Priority `json:"priority"`
Data map[string]interface{} `json:"data"`
Private map[string]interface{} `json:"private"`
RunAfter time.Time `json:"run_after"`
Retries int `json:"retries"`
Category *string `json:"category"`
Workflow *string `json:"workflow"`
CreatedAt time.Time `json:"created_at"`
Status Status `json:"status"`
Attempt int `json:"attempt"`
Session int `json:"session"`
Result *Result `json:"result"`
FinishedAt *time.Time `json:"finished_at"`
Weight int `json:"weight"`
TimeReference time.Time `json:"time_reference"`
}
Job AFAIRE.
func (*Job) SetPriorityCritical ¶
SetPriorityCritical AFAIRE.
func (*Job) SetPrivate ¶
SetPrivate AFAIRE.
type Metrics ¶
type Metrics struct {
Jobs struct {
Todo int
Pending int
Running int
Succeeded int
Failed int
Total int
}
Workflows struct {
Running int
Succeeded int
Failed int
Total int
}
}
Metrics AFAIRE.
type Model ¶
type Model interface {
CreateJob(job *Job) (*Job, error)
NextJob(namespace string) (*Job, error)
UpdateJob(job *Job) (*Job, error)
NotifyJob(id string, data interface{}) error
SetJobPriority(id string, priority Priority) error
SetJobRunAfter(id string, duration time.Duration) error
CreateWorkflow(wf *Workflow) (*Workflow, error)
SetWorkflowPriority(id string, priority Priority) error
}
Model AFAIRE.
type Result ¶
type Result struct {
Status Status `json:"status"`
NextStep string `json:"next_step"`
Value string `json:"value"`
Duration time.Duration `json:"duration"`
Error string `json:"error"`
Host string `json:"host"`
Worker string `json:"worker"`
}
Result AFAIRE.
func (*Result) SetDuration ¶
SetDuration AFAIRE.
func (*Result) SetNextStep ¶
SetNextStep AFAIRE.
type Step ¶
type Step struct {
Namespace string `json:"namespace"`
Type string `json:"type"`
Config map[string]interface{} `json:"config"`
Retries int `json:"retries"`
Next map[string]interface{} `json:"next"`
}
Step AFAIRE.
type Storage ¶
type Storage interface {
ValidateJob(job *Job) error
InsertJob(job *Job) (bool, error)
NextJob(namespace string) (*Job, error)
UpdateJob(job *Job) error
ValidateWorkflow(wf *Workflow) error
InsertWorkflow(wf *Workflow, job *Job) error
Workflow(id string, mustExist bool) (*Workflow, error)
UpdateWorkflow(wf *Workflow, job, nextJob *Job) error
Metrics() (*Metrics, error)
}
Storage AFAIRE.
type Workflow ¶
type Workflow struct {
ID string `json:"id"`
Type string `json:"type"`
Description string `json:"description"`
Origin string `json:"origin"`
Priority Priority `json:"priority"`
FirstStep string `json:"first_step"`
AllSteps map[string]*Step `json:"all_steps"`
Data map[string]interface{} `json:"data"`
ExternalID *string `json:"external_id"`
CreatedAt time.Time `json:"created_at"`
Status Status `json:"status"`
FinishedAt *time.Time `json:"finished_at"`
}
Workflow AFAIRE.
func NewWorkflow ¶
NewWorkflow AFAIRE.
func (*Workflow) SetDescription ¶
SetDescription AFAIRE.
func (*Workflow) SetExternalID ¶
SetExternalID AFAIRE.
func (*Workflow) SetPriority ¶
SetPriority AFAIRE.
func (*Workflow) SetPriorityCritical ¶
SetPriorityCritical AFAIRE.
func (*Workflow) SetPriorityHigh ¶
SetPriorityHigh AFAIRE.
func (*Workflow) SetPriorityLow ¶
SetPriorityLow AFAIRE.
func (*Workflow) SetPriorityMedium ¶
SetPriorityMedium AFAIRE.
func (*Workflow) SetPriorityNone ¶
SetPriorityNone AFAIRE.
Click to show internal directories.
Click to hide internal directories.