定时任务crontab
crontab Timer 的用途参照:Linux crontab 命令
文档末尾提供了示例代码,下面开始讲解该示例代码中的内容:
功能代码主要在 demo 示例的 cronParser.js 中 ,在 opk 中引入 cronParser.js 中导出的 cronParser 对象,切勿通过 new CronParser() 生成新的对象,全局只能有一个 CronParser 的实例对象。
import {cronParser} from '../cronParser';
功能介绍
1. startCronTask:新建任务
cronParser.startCronTask('1', "*/30 * * * *", 'callback1');
参数说明
- id:任务id,不可重复,字符串类型
- grammar:时间文法,参照 Linux crontab 命令
- program:回调函数标识符
每一个任务在到达指定时间,需要执行相关操作时,会回调 doTimerTaskThings 函数,在此方法内可以通过新建任务时的入参: program 回调函数标识符,开发人员自行判断需要执行什么事件,可以执行 cronParser.js 文件中的方法,也可引入外部文件的方法
2. getCronTaskList:获取任务列表
cronParser.getCronTaskList()
3. deleteCronTask:删除指定任务
cronParser.deleteCronTask(id)
参数说明
- id:任务id
4. storeCronList:保存任务至本地缓存
//在页面销毁时调用保存任务,不需要使用者调用 public componentWillUnmount() { //重写界面的Unmount,必须调用super super.componentWillUnmount(); //保存任务列表至本地 cronParser.storeCronList() }
5. clearStoreCronList:清空本任务列表(本地缓存同时清空)
cronParser.clearStoreCronList()
6. checkTimerTask:检查并执行本地缓存的定时任务
//获取并执行任务列表 cronParser.checkTimerTask();
此方法需要在opk启动的index.js中执行,可以实现在退出小豹,又再次进入小豹,会自动重启之前缓存的任务