跳到主要内容

app 对象

app 对象是算盘 sdk 的重要类,它会根据运行模式的不同生成不同的 app 实例。

实例的方法和属性

app.args

当前组件所有的参数

app.trigger

触发器实例,用于执行周期性任务。触发器仅可用于服务组件。

app.vars

组件间全局变量

app.modules

模块功能

app.use

装饰器,装饰一个基于 `MessageHandler` 的消息处理类。将此类的方法使用装饰器调用。

app.input(argument)

装饰器,将一个 Argument 实例设置为输入桩参数

app.output(argument)

装饰器,将一个 Argument 实例设置为输出桩参数

app.param(argument)

装饰器,将一个 Argument 实例设置为 param 参数

app.column(argument)

装饰器,将一个 Argument 实例设置为 column 参数

app.load(args, argsDict=None)

重新载入所有参数信息

app.send(results, queue=None, message=None, args=None)

向消息队列发送消息

app.publish(topic: str, payload: dict)

向 topic 发布一个消息

app.subscribe(topic: str)

订阅名为 topic 的消息

app.unsubscribe(topic: str)

取消订阅名为 topic 的消息

app.loadNodeArgs(funcOrApp=None)

动态加载输入输出桩信息

消息触发后的执行顺序

当一个消息到达之后,会进行一系列处理,在各个步骤中有钩子函数可以执行不同操作。钩子函数执行顺序如下:

`app.beforeInit` => `app.afterInit` =>  `app.beforeCall` => 

消息处理主函数 =>

`app.afterCall` => `app.beforeExit`