database

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: May 17, 2021 License: BSD-3-Clause Imports: 13 Imported by: 2

README

Database Storage for GoSchedule

Initial Tables

The first thing to do is to initial tables needed by GoSchedule first.

CREATE TABLE `schedule_info` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `key` varchar(255) NOT NULL DEFAULT '',
  `value` text NULL,
  `version` bigint NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `key` (`key`)
) ENGINE=InnoDB;

Namespace

Different scheduling can be separated by different namespace(or call it prefix) like /schedule/A, /schedule/B, etc. .

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DatabaseStore

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

func New

func New(namespace string, db *sql.DB, opts ...Option) *DatabaseStore

func (*DatabaseStore) Close

func (s *DatabaseStore) Close() error

func (*DatabaseStore) CreateStrategy

func (s *DatabaseStore) CreateStrategy(strategy *definition.Strategy) error

func (*DatabaseStore) CreateTask

func (s *DatabaseStore) CreateTask(task *definition.Task) error

func (*DatabaseStore) Dump

func (s *DatabaseStore) Dump() string

func (*DatabaseStore) GetScheduler

func (s *DatabaseStore) GetScheduler(id string) (*definition.Scheduler, error)

func (*DatabaseStore) GetSchedulers

func (s *DatabaseStore) GetSchedulers() ([]*definition.Scheduler, error)

func (*DatabaseStore) GetStrategies

func (s *DatabaseStore) GetStrategies() ([]*definition.Strategy, error)

func (*DatabaseStore) GetStrategy

func (s *DatabaseStore) GetStrategy(id string) (*definition.Strategy, error)

func (*DatabaseStore) GetStrategyRuntime

func (s *DatabaseStore) GetStrategyRuntime(strategyId, schedulerId string) (*definition.StrategyRuntime, error)

func (*DatabaseStore) GetStrategyRuntimes

func (s *DatabaseStore) GetStrategyRuntimes(strategyId string) ([]*definition.StrategyRuntime, error)

func (*DatabaseStore) GetTask

func (s *DatabaseStore) GetTask(id string) (*definition.Task, error)

func (*DatabaseStore) GetTaskAssignment

func (s *DatabaseStore) GetTaskAssignment(strategyId, taskId, itemId string) (*definition.TaskAssignment, error)

func (*DatabaseStore) GetTaskAssignments

func (s *DatabaseStore) GetTaskAssignments(strategyId, taskId string) ([]*definition.TaskAssignment, error)

func (*DatabaseStore) GetTaskItemsConfigVersion

func (s *DatabaseStore) GetTaskItemsConfigVersion(strategyId, taskId string) (int64, error)

func (*DatabaseStore) GetTaskRuntime

func (s *DatabaseStore) GetTaskRuntime(strategyId, taskId, id string) (*definition.TaskRuntime, error)

func (*DatabaseStore) GetTaskRuntimes

func (s *DatabaseStore) GetTaskRuntimes(strategyId, taskId string) ([]*definition.TaskRuntime, error)

func (*DatabaseStore) GetTasks

func (s *DatabaseStore) GetTasks() ([]*definition.Task, error)

func (*DatabaseStore) IncreaseTaskItemsConfigVersion

func (s *DatabaseStore) IncreaseTaskItemsConfigVersion(strategyId, taskId string) error

func (*DatabaseStore) Name

func (s *DatabaseStore) Name() string

func (*DatabaseStore) RegisterScheduler

func (s *DatabaseStore) RegisterScheduler(scheduler *definition.Scheduler) error

func (*DatabaseStore) RemoveStrategy

func (s *DatabaseStore) RemoveStrategy(id string) error

func (*DatabaseStore) RemoveStrategyRuntime

func (s *DatabaseStore) RemoveStrategyRuntime(strategyId, schedulerId string) error

func (*DatabaseStore) RemoveTask

func (s *DatabaseStore) RemoveTask(id string) error

func (*DatabaseStore) RemoveTaskAssignment

func (s *DatabaseStore) RemoveTaskAssignment(strategyId, taskId, itemId string) error

func (*DatabaseStore) RemoveTaskRuntime

func (s *DatabaseStore) RemoveTaskRuntime(strategyId, taskId, id string) error

func (*DatabaseStore) Sequence

func (s *DatabaseStore) Sequence() (uint64, error)

func (*DatabaseStore) SetStrategyRuntime

func (s *DatabaseStore) SetStrategyRuntime(runtime *definition.StrategyRuntime) error

func (*DatabaseStore) SetTaskAssignment

func (s *DatabaseStore) SetTaskAssignment(assignment *definition.TaskAssignment) error

func (*DatabaseStore) SetTaskRuntime

func (s *DatabaseStore) SetTaskRuntime(runtime *definition.TaskRuntime) error

func (*DatabaseStore) Time

func (s *DatabaseStore) Time() int64

func (*DatabaseStore) UnregisterScheduler

func (s *DatabaseStore) UnregisterScheduler(id string) error

func (*DatabaseStore) UpdateStrategy

func (s *DatabaseStore) UpdateStrategy(strategy *definition.Strategy) error

func (*DatabaseStore) UpdateTask

func (s *DatabaseStore) UpdateTask(task *definition.Task) error

type Option

type Option func(cfg *ScheduleConfig)

func WithInfoTable

func WithInfoTable(table string) Option

type ScheduleConfig

type ScheduleConfig struct {
	InfoTable string
}

type ScheduleInfo

type ScheduleInfo struct {
	Id      int64 `dao:"primary;auto_increment"`
	Key     string
	Value   string
	Version int64
}

Jump to

Keyboard shortcuts

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