跳到内容 跳到主导航 跳到页脚

定时任务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中执行,可以实现在退出小豹,又再次进入小豹,会自动重启之前缓存的任务

定时任务

这篇文章是否有帮助?

1