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)
- 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 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) InitFlows() (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) Stop() (err error)
- func (wf *Workflow) UpdateFlow(flow *models.Flow) (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
// 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 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 ¶
Click to show internal directories.
Click to hide internal directories.