[go: up one dir, main page]

dl-scheduler
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

说明

更新:

  • 新增队列信息查看
  • 修复暂停任务和继续运行
  • 新增使用实例

使用说明

安装:

npm install dl-scheduler

代码:

import { SchedulerCenter } from "dl-scheduler";

const scheduler = new SchedulerCenter("test");

scheduler.addTask("1", { weight: 1, params: { title: "低权重" } }, (params: any) => {
  console.log("1", params);
});
scheduler.addTask("2", { weight: 3, params: { title: "高权重" } }, (params: any) => {
  console.log("2", params);
});
scheduler.addTask("3", { weight: 2, params: { title: "中权重" } }, (params: any) => {
  console.log("3", params);
});

// 停止执行任务
scheduler.stopTask();
// 添加就绪任务
scheduler.addTask("4", { weight: 2, params: { title: "继续执行2" } }, (params: any) => {
  console.log("4", params);
});
scheduler.addTask("5", { weight: 1, params: { title: "继续执行1" } }, (params: any) => {
  console.log("5", params);
});
scheduler.addTask("6", { weight: 3, params: { title: "继续执行3" } }, (params: any) => {
  console.log("6", params);
});

// 创建一个不立即执行队列
const task = new SchedulerCenter("noRun", {
  // 是否立刻执行任务,默认:true
  isRunning: false,
});
task.addTask("aaa", { weight: 2, params: { title: "aaa的内容" } }, (params: any) => {
  console.log("aaa", params);
});
task.addTask("bbb", { weight: 1, params: { title: "bbb的内容" } }, (params: any) => {
  console.log("bbb", params);
});

console.log("------------------------------------------------");
// 获指定的取队列信息
let taskStatus = SchedulerCenter.getTaskStatus("test") || "";
console.log("| test的队列的信息", taskStatus.toString());

console.log("------------------------------------------------");

// 获取全部队列信息
let allTaskStatus = SchedulerCenter.getTaskStatus() || "";
console.log("| 所有队列的信息", JSON.stringify(allTaskStatus));

console.log("------------------------------------------------");

// 模拟中途需要暂停任务的场景
let count = 0;
let timer = setInterval(() => {
  count++;
  console.log("等待时间:", count, "秒");
  if (count == 3) {
    clearInterval(timer);
    // 开始执行
    scheduler.runTask();
  }
}, 1000);

Package Sidebar

Install

npm i dl-scheduler

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

10.7 kB

Total Files

16

Last publish

Collaborators

  • smjb