Skip to content

Commit

Permalink
Register processor into DB
Browse files Browse the repository at this point in the history
  • Loading branch information
dongxuny committed Jan 18, 2023
1 parent aed8a23 commit fabe826
Show file tree
Hide file tree
Showing 12 changed files with 287 additions and 486 deletions.
51 changes: 13 additions & 38 deletions database.go
Original file line number Diff line number Diff line change
@@ -1,56 +1,31 @@
package rkasync

import "gorm.io/gorm/clause"

type Database interface {
Type() string

RegisterJob(job Job)
AddJob(job *Job) error

RegisterProcessor(jobType string, processor Processor)

AddJob(job Job) error
GetProcessor(jobType string) Processor

PickJobToWork() (Job, error)
PickJobToWork() (*Job, error)

UpdateJobState(job Job, state string) error
UpdateJobState(job *Job, state string) error

ListJobs(filter *JobFilter) ([]Job, error)
ListJobs(filter *JobFilter) ([]*Job, error)

GetJob(id string) (Job, error)
GetJob(id string) (*Job, error)

CancelJobsOverdue(days int, filter *JobFilter) error

CleanJobs(days int, filter *JobFilter) error
}

type UnmarshalerFunc func([]byte, *JobMeta) (Job, error)

func NewJobFilter() *JobFilter {
return &JobFilter{
TypeList: []string{},
UserList: []string{},
ClassList: []string{},
CategoryList: []string{},
}
}

type JobFilter struct {
TypeList []string
UserList []string
ClassList []string
CategoryList []string
Limit int
}

func (f *JobFilter) AddType(in string) {
f.TypeList = append(f.TypeList, in)
}

func (f *JobFilter) AddUser(in string) {
f.UserList = append(f.UserList, in)
}

func (f *JobFilter) AddClass(in string) {
f.ClassList = append(f.ClassList, in)
}

func (f *JobFilter) AddCategory(in string) {
f.CategoryList = append(f.CategoryList, in)
ClauseList []clause.Expression
Limit int
Order string
}
Loading

0 comments on commit fabe826

Please sign in to comment.