(一)了解任务管理
“任务管理” 应用只有一个菜单版块,就是任务。
点击添加任务:
除了任务名称、别名,剩下的只有两个选项:
是否限定运行一个,默认选项为 “是”。意思是,这个任务只能同时运行一个(启动一次)。换句话说,如果这个选项是 “否”,那么这个任务就可以被多次启动。
重启是否持续运行,默认选项为 “否”。该选项的意思是,无论任何原因,程序执行完毕后,是不是重新再从头运行一次。
除了这两个选项,剩下的就是任务的核心部分:任务脚本。因为 MixIOT 任务容器是一个 MixIOT 的 Lua 解释器,所以, MixIOT 的任务必须是一个 Lua 程序代码。
简单地说,任务就是一段可以自由发挥的 Lua 程序,无论你想做什么,都可以用这个程序来实现。
(二)何时需要任务
MixIOT 平台里面,一个 “任务” 就是一个开放形式的 Lua 程序。那么,为什么 MixIOT 平台里面有这么一个 “任务” 的安排?一般什么时候需要用到“任务”?
我们可以这样理解,MixIOT 的 “任务”,本质上是一个 “执行”单元。
我们以之前介绍过的应用来说,“特征检测” 和 “历程管理” 这两个应用的结果,就是特征(或特征统计结果)和历程,这些结果一旦产生,就能在应用的结果中找到。
然而,这些结果只是结果:某个对象出现了一个什么特征、某个对象的某个特征已经出现了多少次了、某个对象开始了一个什么历程、某个对象的某个历程已经完结等等。MixIOT 在产生这些结果的同时,也会发出一个 “事件(消息)”。
如果只是要在事后分析这些特征(或特征统计)的数据或分析这些历程的数据,那就不需要用到 “任务”。但如果要实时使用这些数据,去做一些其他的(MixIOT 平台里面本身没有提供)计算,再根据这些计算去做一些反向控制,那么,就只能利用“任务”来达成这个目标。