Documentation ¶
Index ¶
- Constants
- Variables
- func Initialize(telemetry Telemetry) (err error)
- type Action
- type ActionPrototypes
- type Core
- func (b *Core) AddFlow(flow *models.Flow) (err error)
- func (b *Core) AddNode(node *models.Node) (err error)
- func (b *Core) AddWorkflow(workflow *models.Workflow) (err error)
- func (b *Core) ConnectNode(node *models.Node) (err error)
- func (b *Core) DisconnectNode(node *models.Node) (err error)
- func (b *Core) DoWorker(model *models.Worker) (err error)
- func (b *Core) GetDevicesStates() map[int64]*models.DeviceState
- func (b *Core) GetNodes() map[int64]*models.Node
- func (b *Core) InitNodes() (err error)
- func (b *Core) InitWorkflows() (err error)
- func (b *Core) ReloadNode(node *models.Node) (err error)
- func (b *Core) RemoveFlow(flow *models.Flow) (err error)
- func (b *Core) RemoveNode(node *models.Node) (err error)
- func (b *Core) RemoveWorker(_worker *models.Worker) (err error)
- func (b *Core) RemoveWorkflow(workflow *models.Workflow) (err error)
- func (b *Core) Run() (err error)
- func (b *Core) SetDeviceState(id int64, state *models.DeviceState)
- func (b *Core) UpdateFlow(flow *models.Flow) (err error)
- func (b *Core) UpdateFlowFromDevice(device *models.Device) (err error)
- func (b *Core) UpdateScript(script *models.Script) (err error)
- func (b *Core) UpdateWorker(_worker *models.Worker) (err error)
- func (b *Core) UpdateWorkflowScenario(workflow *models.Workflow) (err error)
- type Flow
- func (f *Flow) AddWorker(model *models.Worker) (err error)
- func (f *Flow) InitWorkers() (err error)
- func (f *Flow) NewMessage(message *Message) (err error)
- func (f *Flow) Remove()
- func (f *Flow) RemoveWorker(worker *models.Worker) (err error)
- func (f *Flow) UpdateWorker(worker *models.Worker) (err error)
- type FlowElement
- type FlowLink
- type Gateway
- type JavascriptCore
- type Message
- type MessageEmitter
- type MessageHandler
- type Status
- type Task
- type Telemetry
- type Worker
- type Workflow
- func (wf *Workflow) AddFlow(flow *models.Flow) (err error)
- func (wf *Workflow) GetVariable(key string) interface{}
- func (wf *Workflow) InitFlows() (err error)
- func (wf *Workflow) NewScript(model *models.Script) (script *scripts.Engine, err error)
- func (wf *Workflow) RemoveFlow(flow *models.Flow) (err error)
- func (wf *Workflow) Restart() (err error)
- func (wf *Workflow) Run() (err error)
- func (wf *Workflow) SetVariable(key string, value interface{})
- func (wf *Workflow) Stop() (err error)
- func (wf *Workflow) UpdateFlow(flow *models.Flow) (err error)
- func (wf *Workflow) UpdateScenario() (err error)
Constants ¶
Variables ¶
View Source
var (
Hub stream.Hub
)
Functions ¶
func Initialize ¶
Types ¶
type Action ¶
type Action struct { Device *models.Device Node *models.Node Script *scripts.Engine Message *Message }
func (*Action) SetDeviceState ¶
type ActionPrototypes ¶
type Core ¶
type Core struct {
// contains filtered or unexported fields
}
func (*Core) AddWorkflow ¶
добавление рабочего процесс, без автоматического поиска и запуска подпроцессов
func (*Core) GetDevicesStates ¶
func (b *Core) GetDevicesStates() map[int64]*models.DeviceState
func (*Core) InitWorkflows ¶
инициализация всего рабочего процесса, с запуском дочерни подпроцессов
func (*Core) RemoveWorkflow ¶
нельзя удалить workflow, если присутствуют связанные сущности
func (*Core) SetDeviceState ¶
func (b *Core) SetDeviceState(id int64, state *models.DeviceState)
------------------------------------------------ Device states ------------------------------------------------
func (*Core) UpdateFlowFromDevice ¶
func (*Core) UpdateScript ¶
------------------------------------------------ Script ------------------------------------------------
type Flow ¶
type Flow struct { Model *models.Flow Connections []*models.Connection FlowElements []*FlowElement Node *models.Node Workers map[int64]*Worker // contains filtered or unexported fields }
func (*Flow) InitWorkers ¶
func (*Flow) NewMessage ¶
type FlowElement ¶
type FlowElement struct { Model *models.FlowElement Flow *Flow Workflow *Workflow Script *scripts.Engine Prototype ActionPrototypes Action *Action ScenarioName string // contains filtered or unexported fields }
func NewFlowElement ¶
func NewFlowElement(model *models.FlowElement, flow *Flow, workflow *Workflow) (flowElement *FlowElement, err error)
func (*FlowElement) After ¶
func (m *FlowElement) After(message *Message) error
func (*FlowElement) Before ¶
func (m *FlowElement) Before(message *Message) error
func (*FlowElement) GetStatus ¶
func (m *FlowElement) GetStatus() (status Status)
type JavascriptCore ¶ added in v0.0.5
type JavascriptCore struct {
// contains filtered or unexported fields
}
func (*JavascriptCore) GetVariable ¶ added in v0.0.5
func (j *JavascriptCore) GetVariable(key string) interface{}
func (*JavascriptCore) SetVariable ¶ added in v0.0.5
func (j *JavascriptCore) SetVariable(key string, value interface{})
type Message ¶
type Message struct { Device *models.Device Flow *models.Flow Node *models.Node Error string Device_state func(state string) Data map[string]interface{} }
TODO refactor message system
func NewMessage ¶
func NewMessage() *Message
type MessageEmitter ¶
type MessageEmitter struct{}
ActionPrototypes
func (*MessageEmitter) After ¶
func (m *MessageEmitter) After(message *Message, flow *Flow) (err error)
func (*MessageEmitter) Before ¶
func (m *MessageEmitter) Before(message *Message, flow *Flow) (err error)
func (*MessageEmitter) Type ¶
func (m *MessageEmitter) Type() string
type MessageHandler ¶
type MessageHandler struct{}
ActionPrototypes
func (*MessageHandler) After ¶
func (m *MessageHandler) After(message *Message, flow *Flow) (err error)
func (*MessageHandler) Before ¶
func (m *MessageHandler) Before(message *Message, flow *Flow) (err error)
func (*MessageHandler) Type ¶
func (m *MessageHandler) Type() string
type Worker ¶
type Worker struct { Model *models.Worker CronTask *cr.Task // contains filtered or unexported fields }
func (*Worker) Do ¶
func (w *Worker) Do()
Run worker script, and send result to flow as message struct
func (*Worker) RemoveActions ¶
func (w *Worker) RemoveActions()
func (*Worker) RemoveTask ¶
type Workflow ¶
type Workflow struct { Nodes map[int64]*models.Node Flows map[int64]*Flow // contains filtered or unexported fields }
func NewWorkflow ¶
func (*Workflow) GetVariable ¶ added in v0.0.5
func (*Workflow) SetVariable ¶ added in v0.0.5
func (*Workflow) UpdateScenario ¶ added in v0.0.5
Click to show internal directories.
Click to hide internal directories.