Documentation ¶
Index ¶
- func AddJob(taskName string, maxRetry int, args []byte) (err error)
- func AddJobViaHTTPRequest(ctx context.Context, workerHost string, taskName string, maxRetry int, ...) error
- func NewTaskQueueWorker(service factory.ServiceFactory, q QueueStorage, perst Persistent, ...) factory.AppServerFactory
- type Filter
- type Job
- type JobListResolver
- type JobStatusEnum
- type MemstatsResolver
- type MetaJobList
- type MetaTaskResolver
- type OptionFunc
- func SetAutoRemoveClientInterval(d time.Duration) OptionFunc
- func SetDashboardBanner(banner string) OptionFunc
- func SetDashboardHTTPPort(port uint16) OptionFunc
- func SetDebugMode(debugMode bool) OptionFunc
- func SetJaegerTracingDashboard(host string) OptionFunc
- func SetLocker(locker candiutils.Locker) OptionFunc
- func SetMaxClientSubscriber(max int) OptionFunc
- type Persistent
- type QueueStorage
- type RetryHistory
- type TaglineResolver
- type Task
- type TaskListResolver
- type TaskResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddJobViaHTTPRequest ¶ added in v1.7.0
func AddJobViaHTTPRequest(ctx context.Context, workerHost string, taskName string, maxRetry int, args []byte) error
AddJobViaHTTPRequest public function for add new job via http request
func NewTaskQueueWorker ¶ added in v1.6.8
func NewTaskQueueWorker(service factory.ServiceFactory, q QueueStorage, perst Persistent, opts ...OptionFunc) factory.AppServerFactory
NewTaskQueueWorker create new task queue worker
Types ¶
type Filter ¶
type Filter struct {
Page, Limit int
TaskName string
TaskNameList []string
Search *string
Status []string
ShowAll bool
ShowHistories *bool
}
Filter type
type Job ¶
type Job struct { ID string `bson:"_id" json:"_id"` TaskName string `bson:"task_name" json:"task_name"` Arguments string `bson:"arguments" json:"arguments"` Retries int `bson:"retries" json:"retries"` MaxRetry int `bson:"max_retry" json:"max_retry"` Interval string `bson:"interval" json:"interval"` CreatedAt time.Time `bson:"created_at" json:"created_at"` FinishedAt time.Time `bson:"finished_at" json:"finished_at"` Status string `bson:"status" json:"status"` Error string `bson:"error" json:"error"` TraceID string `bson:"traceId" json:"traceId"` RetryHistories []RetryHistory `bson:"retryHistories" json:"retryHistories"` NextRetryAt string `bson:"-" json:"-"` }
Job model
type JobListResolver ¶
type JobListResolver struct { Meta MetaJobList Data []Job }
JobListResolver resolver
type MemstatsResolver ¶ added in v1.6.12
MemstatsResolver resolver
type MetaJobList ¶ added in v1.6.8
type MetaJobList struct { Page int Limit int TotalRecords int TotalPages int IsCloseSession bool Detail struct { Failure, Retrying, Success, Queueing, Stopped int } }
MetaJobList resolver
type MetaTaskResolver ¶ added in v1.6.8
type MetaTaskResolver struct { Page int Limit int TotalRecords int TotalPages int IsCloseSession bool TotalClientSubscriber int }
MetaTaskResolver meta resolver
type OptionFunc ¶ added in v1.6.8
type OptionFunc func(*option)
OptionFunc type
func SetAutoRemoveClientInterval ¶ added in v1.6.8
func SetAutoRemoveClientInterval(d time.Duration) OptionFunc
SetAutoRemoveClientInterval option func
func SetDashboardBanner ¶ added in v1.7.0
func SetDashboardBanner(banner string) OptionFunc
SetDashboardBanner option func
func SetDashboardHTTPPort ¶ added in v1.7.4
func SetDashboardHTTPPort(port uint16) OptionFunc
SetDashboardHTTPPort option func
func SetDebugMode ¶ added in v1.7.4
func SetDebugMode(debugMode bool) OptionFunc
SetDebugMode option func
func SetJaegerTracingDashboard ¶ added in v1.6.8
func SetJaegerTracingDashboard(host string) OptionFunc
SetJaegerTracingDashboard option func
func SetLocker ¶ added in v1.8.8
func SetLocker(locker candiutils.Locker) OptionFunc
SetLocker option func
func SetMaxClientSubscriber ¶ added in v1.6.8
func SetMaxClientSubscriber(max int) OptionFunc
SetMaxClientSubscriber option func
type Persistent ¶ added in v1.7.0
type Persistent interface { FindAllJob(ctx context.Context, filter Filter) (jobs []Job) FindJobByID(ctx context.Context, id string) (job *Job, err error) CountAllJob(ctx context.Context, filter Filter) int AggregateAllTaskJob(ctx context.Context, filter Filter) (result []TaskResolver) SaveJob(ctx context.Context, job *Job) UpdateAllStatus(ctx context.Context, taskName string, currentStatus []JobStatusEnum, updatedStatus JobStatusEnum) CleanJob(ctx context.Context, taskName string) DeleteJob(ctx context.Context, id string) error }
Persistent abstraction
func NewMongoPersistent ¶ added in v1.7.0
func NewMongoPersistent(db *mongo.Database) Persistent
NewMongoPersistent create mongodb persistent
type QueueStorage ¶
type QueueStorage interface { PushJob(job *Job) PopJob(taskName string) (jobID string) NextJob(taskName string) (jobID string) Clear(taskName string) }
QueueStorage abstraction for queue storage backend
func NewRedisQueue ¶
func NewRedisQueue(redisPool *redis.Pool) QueueStorage
NewRedisQueue init inmem queue
type RetryHistory ¶ added in v1.10.0
type RetryHistory struct { Status string `bson:"status" json:"status"` Error string `bson:"error" json:"error"` TraceID string `bson:"traceId" json:"traceId"` Timestamp time.Time `bson:"timestamp" json:"timestamp"` }
RetryHistory model
type TaglineResolver ¶
type TaglineResolver struct { Banner string Tagline string Version string TaskListClientSubscribers []string JobListClientSubscribers []string MemoryStatistics MemstatsResolver }
TaglineResolver resolver
type Task ¶ added in v1.9.0
type Task struct {
// contains filtered or unexported fields
}
Task model
type TaskListResolver ¶ added in v1.6.8
type TaskListResolver struct { Meta MetaTaskResolver Data []TaskResolver }
TaskListResolver resolver
type TaskResolver ¶
type TaskResolver struct { Name string TotalJobs int Detail struct { Failure, Retrying, Success, Queueing, Stopped int } }
TaskResolver resolver