国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

NodeJs入門教程之定時器和隊列

2024-05-06 15:41:53
字體:
來源:轉載
供稿:網友

一,介紹與需求

 1.1,介紹

定時任務(node-schedule),是針對Node.js的一種靈活的cron-like和not-cron-like作業調度程序。它允許您使用可選的遞歸規則將作業(任意函數)安排在特定日期執行。它在任何給定的時間只使用一個計時器(而不是每秒鐘/分鐘重新評估即將到來的作業)。

Async是一個實用模塊,它為異步JavaScript提供了直接、強大的功能。async流程控制器--queue(隊列),queue流程控制器是一個并行的流程控制器,但是它與parallel的區別在于queue可以控制一次執行幾個函數,而parallel只是讓所有函數并行執行.

 1.2,需求

實際開發項目中,會遇到很多定時任務的工作。比如:定時導出某些數據、定時發送消息或郵件給用戶、定時備份什么類型的文件等等。在當時給用戶發送消息時,可能要發送的用戶就不只有一兩個,二是多個,這是可能就會用到隊列順序執行。

二,定時器

第一步:安裝node-schedule

 npm install node-schedule --save

第二步:封裝定時器模塊

const schedule = require('node-schedule');//定時器const nodeTimer = {};let cancelTimer = ''/** *Cron風格定時器/對象文本語法定時器 * @param executionTime :定時器字符串'30 * * * * *'/定時器對象{hour: 16, minute: 11, dayOfWeek: 1} * @param callback :回調函數 */nodeTimer.scheduleTimer = (executionTime = '30 * * * * *', callback) => { // 每分鐘的第30秒觸發: '30 * * * * *' // 每小時的1分30秒觸發 :'30 1 * * * *' // 每天的凌晨1點1分30秒觸發 :'30 1 1 * * *' // 每月的1日1點1分30秒觸發 :'30 1 1 1 * *' // 2016年的1月1日1點1分30秒觸發 :'30 1 1 1 2016 *' // 每周1的1點1分30秒觸發 :'30 1 1 * * 1'  cancelTimer = schedule.scheduleJob(executionTime, () => { if (typeof callback === 'function') { callback() } });}module.exports = nodeTimer;

第三步:調用

在回調函數中寫入要執行的任務代碼,一個定時器就完成了!

引入定時器模塊:

 const nodeTimer = require('./node_timer.js');

1,Cron風格定時器

規則參數講解 *代表通配符

 *   *    *     *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    │
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 保定市| 苗栗县| 唐海县| 永清县| 万载县| 莒南县| 剑阁县| 威信县| 石阡县| 武鸣县| 施甸县| 临澧县| 安福县| 蛟河市| 库尔勒市| 大同县| 华坪县| 灵丘县| 万载县| 全椒县| 浦东新区| 定西市| 双辽市| 昌邑市| 庄浪县| 赤城县| 永州市| 曲松县| 安西县| 都江堰市| 甘德县| 江口县| 临沭县| 安徽省| 多伦县| 民乐县| 夏邑县| 视频| 岚皋县| 唐河县| 方山县|