tasks

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Header struct {
	Meta struct {
		Protocol string `json:"protocol"`
		Caller   string `json:"caller"`
		TaskName string `json:"taskName"`
	} `json:"meta"`
	Data interface{} `json:"data"`
}

type JsonSchema

type JsonSchema struct {
	Schema     string                 `json:"$schema,omitempty" yaml:"$schema,omitempty"`       // optional
	ID         string                 `json:"$id,omitempty" yaml:"$id,omitempty"`               // optional
	Properties map[string]*JsonSchema `json:"properties,omitempty" yaml:"properties,omitempty"` // optional
	Type       string                 `json:"type,omitempty" yaml:"type,omitempty"`             // optional
	Required   []string               `json:"required,omitempty" yaml:"required,omitempty"`     // optional
}

type Runner

type Runner interface {
	Execute(task *Task, execArgs interface{}) *TaskResult
	ExecuteAsync(task *Task, execArgs interface{})
	WaitUntilComplete()
	GetAsyncResults() <-chan *TaskResult
	SetLogger(logger *logrus.Logger)
	// contains filtered or unexported methods
}

func NewScriptRunner

func NewScriptRunner() Runner

func NewScriptRunnerPool added in v1.1.0

func NewScriptRunnerPool(poolSize int, ctx context.Context) Runner

type ScriptRunner

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

func (*ScriptRunner) Execute

func (s *ScriptRunner) Execute(task *Task, execArgs interface{}) *TaskResult

func (*ScriptRunner) ExecuteAsync

func (s *ScriptRunner) ExecuteAsync(task *Task, execArgs interface{})

func (*ScriptRunner) GetAsyncResults added in v1.1.0

func (s *ScriptRunner) GetAsyncResults() <-chan *TaskResult

func (*ScriptRunner) GetAsyncResultsCount added in v1.1.0

func (s *ScriptRunner) GetAsyncResultsCount() int

func (*ScriptRunner) SetLogger added in v1.1.0

func (s *ScriptRunner) SetLogger(logger *logrus.Logger)

func (*ScriptRunner) WaitUntilComplete

func (s *ScriptRunner) WaitUntilComplete()

type ScriptRunnerPool added in v1.1.0

type ScriptRunnerPool struct {
	*ScriptRunner
	// contains filtered or unexported fields
}

func (*ScriptRunnerPool) ExecuteAsync added in v1.1.0

func (p *ScriptRunnerPool) ExecuteAsync(task *Task, execArgs interface{})

type ScriptSchema

type ScriptSchema struct {
	Name        string      `json:"name,omitempty" yaml:"name,omitempty"`               // optional
	Description string      `json:"description,omitempty" yaml:"description,omitempty"` // optional
	Inputs      *JsonSchema `json:"inputs" yaml:"inputs"`
	Outputs     *JsonSchema `json:"outputs,omitempty" yaml:"outputs,omitempty"` // optional
}

func NewScriptSchema

func NewScriptSchema(name string, description string, inputs *JsonSchema, outputs *JsonSchema) *ScriptSchema

func NewScriptSchemaFromJSON

func NewScriptSchemaFromJSON(jsonSchema string) (*ScriptSchema, error)

type Task

type Task struct {
	Name     string      `json:"name" yaml:"name"`
	Location string      `json:"location" yaml:"location"`
	Accept   *JsonSchema `json:"schema" yaml:"schema"`
}

func NewTask

func NewTask(name string, location string) *Task

func (*Task) JsonSchema

func (t *Task) JsonSchema() string

func (*Task) ParseArgs

func (t *Task) ParseArgs(args interface{}) (map[string]interface{}, error)

func (*Task) SetSchemaFromBytes

func (t *Task) SetSchemaFromBytes(schema []byte) error

type TaskResult

type TaskResult struct {
	Caller  *Task       `json:"-"` // not serialized
	Status  int         `json:"status"`
	Reason  string      `json:"reason"`
	Payload interface{} `json:"payload"`
}

func (*TaskResult) SetFail

func (tr *TaskResult) SetFail(reason string)

type TaskStore

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

func NewTaskStore

func NewTaskStore(filename string) (*TaskStore, error)

func (*TaskStore) AddTask

func (s *TaskStore) AddTask(task *Task) error

func (*TaskStore) Clear

func (s *TaskStore) Clear() error

func (*TaskStore) DeleteTask

func (s *TaskStore) DeleteTask(name string) error

func (*TaskStore) GetTask

func (s *TaskStore) GetTask(name string) (*Task, error)

func (*TaskStore) GetTasks

func (s *TaskStore) GetTasks() []*Task

Jump to

Keyboard shortcuts

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