go_cron

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

README

go-cron

Documentation

Index

Constants

View Source
const (
	MODULE = "cron"
)

Variables

View Source
var Missions *mission

Functions

This section is empty.

Types

type GoCron

type GoCron struct {
	// contains filtered or unexported fields
}

func (*GoCron) AddCronRecord

func (g *GoCron) AddCronRecord(id cronV3.EntryID, s SchedulerInterface) error

AddCron 加入排程

func (*GoCron) AddScheduler

func (g *GoCron) AddScheduler(s *Scheduler) error

AddScheduler 新增排程

func (*GoCron) CheckCronRecord

func (g *GoCron) CheckCronRecord(s SchedulerInterface) (int, error)

CheckCron 檢查排程是否存在(用於多 instance)

func (*GoCron) RemoveCronRecord

func (g *GoCron) RemoveCronRecord(s SchedulerInterface) error

RemoveCronRecord 移除排程紀錄(用於多 instance)

func (*GoCron) RemoveScheduler

func (g *GoCron) RemoveScheduler(s *Scheduler) error

RemoveScheduler 新增排程

func (*GoCron) Run

func (g *GoCron) Run()

Run 啟動排程

func (*GoCron) Stop

func (g *GoCron) Stop()

Stop 結束排程

type GoCronInterface

type GoCronInterface interface {
	Run()
	Stop()
	AddScheduler(s *Scheduler) error
	RemoveScheduler(s *Scheduler) error
}

func NewGoCron

func NewGoCron(redis orm.RedisClientInterface, opts ...cronV3.Option) GoCronInterface

type HttpHandler

type HttpHandler interface {
	GetSchedulerList(c *gin.Context) error
	GetScheduler(c *gin.Context) error
	CreateScheduler(c *gin.Context) error
	UpdateScheduler(c *gin.Context) error
	ModifyScheduler(c *gin.Context) error
	DeleteScheduler(c *gin.Context) error
}

func NewSchedulerHttpHandler

func NewSchedulerHttpHandler(gateway delivery.HttpHandler, svc Service) HttpHandler

type Repository

type Repository interface {
	GetSchedulerList(data map[string]interface{}) ([]*Scheduler, error)
	GetScheduler(data SchedulerInterface) (*Scheduler, error)
	CreateScheduler(data SchedulerInterface) (*Scheduler, error)
	UpdateScheduler(data SchedulerInterface) (*Scheduler, error)
	ModifyScheduler(m SchedulerInterface, data map[string]interface{}) (*Scheduler, error)
	DeleteScheduler(data SchedulerInterface) error
}

func NewSchedulerRepository

func NewSchedulerRepository(orm *gorm.DB) Repository

type Scheduler

type Scheduler struct {
	ID       int        `json:"id" gorm:"primary_key;auto_increment"`
	Spec     string     `json:"spec" gorm:"not_null;comment:'週期'"`
	TaskName string     `json:"taskName" gorm:"Column:task_name;unique_index:idx1;not_null;comment:'任務名稱'"`
	Task     cronV3.Job `json:"task" gorm:"-"`
	CreateAt time.Time  `json:"createAt" sql:"default:CURRENT_TIMESTAMP;comment:'建立時間'"`
}

Scheduler 排程

func (*Scheduler) GetCreateAt

func (g *Scheduler) GetCreateAt() time.Time

此為自動產生的方法,建議不要更動

func (*Scheduler) GetID

func (g *Scheduler) GetID() int

此為自動產生的方法,建議不要更動

func (*Scheduler) GetSpec

func (g *Scheduler) GetSpec() string

此為自動產生的方法,建議不要更動

func (*Scheduler) GetTask

func (g *Scheduler) GetTask() cronV3.Job

此為自動產生的方法,建議不要更動

func (*Scheduler) GetTaskName

func (g *Scheduler) GetTaskName() string

此為自動產生的方法,建議不要更動

func (*Scheduler) SetCreateAt

func (g *Scheduler) SetCreateAt(in time.Time) *Scheduler

此為自動產生的方法,建議不要更動

func (*Scheduler) SetID

func (g *Scheduler) SetID(in int) *Scheduler

此為自動產生的方法,建議不要更動

func (*Scheduler) SetSpec

func (g *Scheduler) SetSpec(in string) *Scheduler

此為自動產生的方法,建議不要更動

func (*Scheduler) SetTask

func (g *Scheduler) SetTask(in cronV3.Job) *Scheduler

此為自動產生的方法,建議不要更動

func (*Scheduler) SetTaskName

func (g *Scheduler) SetTaskName(in string) *Scheduler

此為自動產生的方法,建議不要更動

type SchedulerHttpHandler

type SchedulerHttpHandler struct {
	// contains filtered or unexported fields
}

func (*SchedulerHttpHandler) CreateScheduler

func (g *SchedulerHttpHandler) CreateScheduler(c *gin.Context) error

func (*SchedulerHttpHandler) DeleteScheduler

func (g *SchedulerHttpHandler) DeleteScheduler(c *gin.Context) error

func (*SchedulerHttpHandler) GetScheduler

func (g *SchedulerHttpHandler) GetScheduler(c *gin.Context) error

func (*SchedulerHttpHandler) GetSchedulerList

func (g *SchedulerHttpHandler) GetSchedulerList(c *gin.Context) error

func (*SchedulerHttpHandler) ModifyScheduler

func (g *SchedulerHttpHandler) ModifyScheduler(c *gin.Context) error

func (*SchedulerHttpHandler) UpdateScheduler

func (g *SchedulerHttpHandler) UpdateScheduler(c *gin.Context) error

type SchedulerInterface

type SchedulerInterface interface {
	GetID() int
	SetID(in int) *Scheduler
	GetSpec() string
	SetSpec(in string) *Scheduler
	GetTaskName() string
	SetTaskName(in string) *Scheduler
	GetTask() cronV3.Job
	SetTask(in cronV3.Job) *Scheduler
	GetCreateAt() time.Time
	SetCreateAt(in time.Time) *Scheduler
}

此為自動產生的 Interface,建議不要進行更動

func NewScheduler

func NewScheduler() SchedulerInterface

此為自動產生的方法,建議不要更動

type SchedulerLog

type SchedulerLog struct {
	ID          int        `json:"id" gorm:"primary_key;auto_increment"`
	SchedulerID int        `json:"schedulerID,omitempty" gorm:"comment:'排程 id'"`
	Scheduler   *Scheduler `json:"scheduler,omitempty" gorm:"foreignkey:SchedulerID;association_foreignkey:ID"`
	Success     bool       `json:"isSuccess" gorm:"Column:isSuccess"`
	CreateAt    time.Time  `json:"createAt" sql:"default:CURRENT_TIMESTAMP;comment:'執行時間'"`
}

SchedulerLog 排程紀錄

func (*SchedulerLog) GetCreateAt

func (g *SchedulerLog) GetCreateAt() time.Time

此為自動產生的方法,建議不要更動

func (*SchedulerLog) GetID

func (g *SchedulerLog) GetID() int

此為自動產生的方法,建議不要更動

func (*SchedulerLog) GetScheduler

func (g *SchedulerLog) GetScheduler() *Scheduler

此為自動產生的方法,建議不要更動

func (*SchedulerLog) GetSchedulerID

func (g *SchedulerLog) GetSchedulerID() int

此為自動產生的方法,建議不要更動

func (*SchedulerLog) IsSuccess

func (g *SchedulerLog) IsSuccess() bool

此為自動產生的方法,建議不要更動

func (*SchedulerLog) SetCreateAt

func (g *SchedulerLog) SetCreateAt(in time.Time) *SchedulerLog

此為自動產生的方法,建議不要更動

func (*SchedulerLog) SetID

func (g *SchedulerLog) SetID(in int) *SchedulerLog

此為自動產生的方法,建議不要更動

func (*SchedulerLog) SetScheduler

func (g *SchedulerLog) SetScheduler(in *Scheduler) *SchedulerLog

此為自動產生的方法,建議不要更動

func (*SchedulerLog) SetSchedulerID

func (g *SchedulerLog) SetSchedulerID(in int) *SchedulerLog

此為自動產生的方法,建議不要更動

func (*SchedulerLog) SetSuccess

func (g *SchedulerLog) SetSuccess(in bool) *SchedulerLog

此為自動產生的方法,建議不要更動

type SchedulerLogInterface

type SchedulerLogInterface interface {
	GetID() int
	SetID(in int) *SchedulerLog
	GetSchedulerID() int
	SetSchedulerID(in int) *SchedulerLog
	GetScheduler() *Scheduler
	SetScheduler(in *Scheduler) *SchedulerLog
	IsSuccess() bool
	SetSuccess(in bool) *SchedulerLog
	GetCreateAt() time.Time
	SetCreateAt(in time.Time) *SchedulerLog
}

此為自動產生的 Interface,建議不要進行更動

func NewSchedulerLog

func NewSchedulerLog() SchedulerLogInterface

此為自動產生的方法,建議不要更動

type SchedulerRepository

type SchedulerRepository struct {
	// contains filtered or unexported fields
}

func (*SchedulerRepository) CreateScheduler

func (s *SchedulerRepository) CreateScheduler(data SchedulerInterface) (*Scheduler, error)

func (*SchedulerRepository) DeleteScheduler

func (s *SchedulerRepository) DeleteScheduler(data SchedulerInterface) error

func (*SchedulerRepository) GetScheduler

func (s *SchedulerRepository) GetScheduler(data SchedulerInterface) (*Scheduler, error)

func (*SchedulerRepository) GetSchedulerList

func (s *SchedulerRepository) GetSchedulerList(data map[string]interface{}) ([]*Scheduler, error)

func (*SchedulerRepository) ModifyScheduler

func (s *SchedulerRepository) ModifyScheduler(m SchedulerInterface, data map[string]interface{}) (*Scheduler, error)

func (*SchedulerRepository) UpdateScheduler

func (s *SchedulerRepository) UpdateScheduler(data SchedulerInterface) (*Scheduler, error)

type SchedulerService

type SchedulerService struct {
	// contains filtered or unexported fields
}

func (*SchedulerService) CreateScheduler

func (s *SchedulerService) CreateScheduler(data SchedulerInterface) (*Scheduler, error)

func (*SchedulerService) DeleteScheduler

func (s *SchedulerService) DeleteScheduler(data SchedulerInterface) error

func (*SchedulerService) GetScheduler

func (s *SchedulerService) GetScheduler(data SchedulerInterface) (*Scheduler, error)

func (*SchedulerService) GetSchedulerList

func (s *SchedulerService) GetSchedulerList(data map[string]interface{}) ([]*Scheduler, error)

func (*SchedulerService) ModifyScheduler

func (s *SchedulerService) ModifyScheduler(m SchedulerInterface, data map[string]interface{}) (*Scheduler, error)

func (*SchedulerService) UpdateScheduler

func (s *SchedulerService) UpdateScheduler(data SchedulerInterface) (*Scheduler, error)

type Service

type Service interface {
	GetSchedulerList(data map[string]interface{}) ([]*Scheduler, error)
	GetScheduler(data SchedulerInterface) (*Scheduler, error)
	CreateScheduler(data SchedulerInterface) (*Scheduler, error)
	UpdateScheduler(data SchedulerInterface) (*Scheduler, error)
	ModifyScheduler(m SchedulerInterface, data map[string]interface{}) (*Scheduler, error)
	DeleteScheduler(data SchedulerInterface) error
}

func NewSchedulerService

func NewSchedulerService(core GoCronInterface, repo Repository) Service

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL