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`