job

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2020 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JobsChangedEventPath       = types.EventPath("jobs-changed")
	MemberJobsChangedEventPath = types.EventPath("msm_jobs-changed")
)
View Source
const (
	PathJobs       = "jobs"
	PathMemberJobs = "membjobs"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Job

type Job struct {
	FactoryName string
	ID          string
	Data        []byte
}

Job job data structure

func New

func New(factoryName string, data []byte) Job

NewJob create new job with uuid

func NewWithID

func NewWithID(factory string, jobID string, data []byte) Job

NewWithID create new job with pi

func (*Job) GetAsObject

func (job *Job) GetAsObject(obj interface{}) error

GetAsObject Get data as interface

func (*Job) GetAsString

func (job *Job) GetAsString() string

GetAsString Get data as string

type JobsChangedEvent

type JobsChangedEvent struct {
	common.DaemonEvent
	BlockHeight int64
}

func (JobsChangedEvent) Path

func (event JobsChangedEvent) Path() types.EventPath

type Manager

type Manager struct {
	common.Context
	// contains filtered or unexported fields
}

Manager manager for jobs

func NewManager

func NewManager(context common.Context) *Manager

NewManager ..

func (*Manager) GetRepository

func (manager *Manager) GetRepository() Repository

func (*Manager) Start

func (manager *Manager) Start()

type MemberJobsChangedEvent

type MemberJobsChangedEvent struct {
	common.DaemonEvent
	NodeID string
	JobIDs []string
}

func (MemberJobsChangedEvent) Path

func (event MemberJobsChangedEvent) Path() types.EventPath

type Organizer

type Organizer interface {
	Distribute(allJobs map[string]Job, aliveMembers []string, membJobMap map[string][]string) (membJobs map[string][]string, err error)
}

Organizer : Job Organizer distributes jobs to members

func NewSimpleOrganizer

func NewSimpleOrganizer(logger log.Logger) Organizer

NewSimpleOrganizer ..

type Repository

type Repository interface {
	PutJob(job Job) error
	PutJobIfNotExist(job Job) error
	RemoveJob(jobID string) error
	RemoveAllJobs() error
	GetJob(jobID string) (job Job, err error)
	ContainsJob(jobID string) bool
	GetAllJobIDs() (jobIDs []string, err error)
	GetAllJobs() (jobs map[string]Job, err error)
	GetMemberJobIDs(membID string) (jobIDs []string, err error)
	GetAllMemberJobIDs() (membJobMap map[string][]string, err error)
	PutMemberJobIDs(membID string, jobIDs []string) (err error)
	GetMemberJobs(membID string) (jobs []Job, err error)
	Commit() error
}

func NewRepository

func NewRepository(config common.DaemonConfig, logger log.Logger, client types.Client) Repository

Jump to

Keyboard shortcuts

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