Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLockRepository ¶
func NewLockRepository(etcd *datasources.Etcd) *lockRepository
实例化LockRepository
Types ¶
type CategoryRepository ¶
type CategoryRepository interface { // 保存Category Save(category *datamodels.Category) (*datamodels.Category, error) // 获取Category的列表 List(offset int, limit int) ([]*datamodels.Category, error) // 获取Category信息 Get(id int64) (*datamodels.Category, error) // 根据Category的Name获取信息 GetByName(name string) (*datamodels.Category, error) // 根据ID或者Name获取Category GetByIdOrName(idOrName string) (*datamodels.Category, error) // 删除Category Delete(category *datamodels.Category) (err error) // Update Update(category *datamodels.Category, fields map[string]interface{}) (*datamodels.Category, error) // Update By Id UpdateByID(id int64, fields map[string]interface{}) (*datamodels.Category, error) // 获取Job的列表 GetJobsList(category *datamodels.Category, offset int, limit int) (jobs []*datamodels.Job, err error) }
func NewCategoryRepository ¶
func NewCategoryRepository(db *gorm.DB, etcd *datasources.Etcd) CategoryRepository
实例化Category Repository
type EtcdManager ¶
type EtcdManager struct {
// contains filtered or unexported fields
}
Job Manager 计划任务的管理器
func NewEtcdManager ¶
func NewEtcdManager(etcdConfig *common.EtcdConfig) (*EtcdManager, error)
实例化Job Manager
func (*EtcdManager) CreateJobLock ¶
func (etcdManager *EtcdManager) CreateJobLock(name string) (jobLock *common.JobLock)
创建任务执行锁
func (*EtcdManager) KillJob ¶
func (etcdManager *EtcdManager) KillJob(category string, jobID int) (err error)
计划任务kill 杀掉计划任务运行的进程
func (*EtcdManager) WatchKeys ¶
func (etcdManager *EtcdManager) WatchKeys(keyDir string, watchHandler interfaces.WatchHandler) (err error)
Watch keys 监听etcd key的变化: 比如监听jobs的变化,和监听kill的任务 传递的参数:要监听的key的前缀,和处理监听的接口
type JobExecuteRepository ¶
type JobExecuteRepository interface { // 创建JobExecute Create(jobExecute *datamodels.JobExecute) (*datamodels.JobExecute, error) // 根据ID获取JobExecute Get(id int64) (jobExecute *datamodels.JobExecute, err error) // 获取JobExecute的列表 List(offset int, limit int) (jobExecutes []*datamodels.JobExecute, err error) // 更新 Update(jobExecute *datamodels.JobExecute, fields map[string]interface{}) (*datamodels.JobExecute, error) // 根据ID更新 UpdateByID(id int64, fields map[string]interface{}) (jobExecute *datamodels.JobExecute, err error) // 回写执行结果信息 SaveExecuteLog(jobExecuteResult *datamodels.JobExecuteResult) (jobExecute *datamodels.JobExecute, err error) // 获取JobExecute的Log GetExecuteLog(jobExecute *datamodels.JobExecute) (jobExecuteLog *datamodels.JobExecuteLog, err error) GetExecuteLogByID(id int64) (jobExecuteLog *datamodels.JobExecuteLog, err error) // Kill Job Execute KillByID(id int64) (success bool, err error) }
func NewJobExecuteRepository ¶
func NewJobExecuteRepository(db *gorm.DB, etcd *datasources.Etcd, mongoDB *datasources.MongoDB) JobExecuteRepository
type JobKillRepository ¶
type JobKillRepository interface { // 保存JobKill Save(jobKill *datamodels.JobKill) (*datamodels.JobKill, error) // 获取JobKill Get(id int64) (jobKill *datamodels.JobKill, err error) // 获取Job Kill的列表 List(offset int, limit int) (jobKills []*datamodels.JobKill, err error) // 设置JobKill为Finished SetFinishedByID(id int64) (jobKill *datamodels.JobKill, err error) // 修改JobKill Update(jobKill *datamodels.JobKill, fields map[string]interface{}) (*datamodels.JobKill, error) UpdateByID(id int64, fields map[string]interface{}) (*datamodels.JobKill, error) }
func NewJobKillRepository ¶
func NewJobKillRepository(db *gorm.DB, etcd *datasources.Etcd) JobKillRepository
type JobRepository ¶
type JobRepository interface { // 保存Job Save(job *datamodels.Job) (*datamodels.Job, error) // 获取Job的列表 List(offset int, limit int) (jobs []*datamodels.Job, err error) // 获取Job的信息 Get(id int64) (job *datamodels.Job, err error) GetWithCategory(id int64) (job *datamodels.Job, err error) // 删除Job Delete(job *datamodels.Job) (err error) // 修改Job Update(job *datamodels.Job, fields map[string]interface{}) (*datamodels.Job, error) UpdateByID(id int64, fields map[string]interface{}) (*datamodels.Job, error) // 根据ID或者Name获取分类 GetCategoryByIDOrName(idOrName string) (category *datamodels.Category, err error) // 获取Job的执行列表 GetJobExecuteList(jobID int64, offset int, limit int) (jobExecutes []*datamodels.JobExecute, err error) }
func NewJobRepository ¶
func NewJobRepository(db *gorm.DB, etcd *datasources.Etcd) JobRepository
type LockRepository ¶
type LockRepository interface { // 创建、抢锁 Create(name string, ttl int64) (lock *datamodels.Lock, err error) // 对锁续租 Lease(leaseID int64) error // 删除锁: 释放租约 Release(leaseID int64) error }
Lock Repository
type WorkerRepository ¶
type WorkerRepository interface { // 创建Worker Create(worker *datamodels.Worker) (*datamodels.Worker, error) // 获取Worker Get(name string) (worker *datamodels.Worker, err error) // 删除Worker Delete(worker *datamodels.Worker) (success bool, err error) // 根据Worker的名字删除 DeleteByName(name string) (success bool, err error) // 工作节点的列表 List() (workersList []*datamodels.Worker, err error) }
func NewWorkerRepository ¶
func NewWorkerRepository(etcd *datasources.Etcd) WorkerRepository
Click to show internal directories.
Click to hide internal directories.