介绍

通过系统事件在系统事件发生的时候会自动触发对应的程序执行:

目前支持的系统事件:
AUTO_START: 在程序部署的自动执行一次程序;

应用场景:
基于这个能力+定时任务机制,可以实现定时任务;

使用流程

我们先来假设一个场景:
在物理边的场景里,定时拉取服务端数据缓存到物理边的存储里;

1. 在项目的prog文件里配置对应的启动事件

  1. name: scheculer-task
  2. script: src/lemo.gs
  3. profile: lemo.xml
  4. deviceType: SYSTEM
  5. startEvent: AUTO_START

2. 编写GS脚本设置定时任务

  1. 'use event' // 需要开启事件机制
  2. function process() {
  3. // 请求业务接口数据
  4. // 缓存逻辑
  5. }
  6. sys.setInterval(process, 3000); // 3s执行一次任务

注意:
脚本任务执行线程是单线程的,如果任务耗时处理过长切调度时间较短,可能导致任务积压。

3. 上传并部署应用

经过上述步骤,在应用部署的时候会自动启动程序, 并每隔3s会调度执行一次process任务。