什么是守时使命?

守时使命是指在预定的时刻点或时刻距离内履行的使命或操作。它们是主动化履行特定逻辑的一种方法,可用于履行重复性的、周期性的或计划性的使命。

守时使命一般用于以下状况:

  1. 履行后台使命:守时使命可用于主动履行后台使命,如数据备份、日志清理、缓存改写等。经过设定恰当的时刻点或时刻距离,能够确保这些使命按计划进行,而无需手动干涉。
  2. 履行守时操作:守时使命可用于履行守时操作,如发送电子邮件提示、生成陈述、更新数据等。经过设定恰当的时刻点,能够主动触发这些操作,提高效率并削减人工操作的需求。
  3. 调度使命和作业流:守时使命能够用于调度和协调杂乱的使命和作业流程。经过设置使命之间的依赖联系和执

安装依赖

npm install node-schedule

node-schedule文档

一般守时使命都是用cron表达式去表明时刻的

cron表达式

Cron表达式是一种用于指定守时使命履行时刻的字符串表明方式。它由6个或7个字段组成,每个字段表明使命履行的时刻单位和范围。

Cron表达式的典型格局如下:

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    │
│    │    │    │    │    └── 星期(0 - 6,0表明周日)
│    │    │    │    └───── 月份(1 - 12)
│    │    │    └────────── 日(1 - 31)
│    │    └─────────────── 小时(0 - 23)
│    └──────────────────── 分钟(0 - 59)
└───────────────────────── 秒(0 - 59)
是否必需 取值范围 特别字符
秒 Seconds [0, 59] * , – /
分钟 Minutes [0, 59] * , – /
小时 Hours [0, 23] * , – /
日期 DayofMonth [1, 31] * , – / ? L W
月份 Month [1, 12]或[JAN, DEC] * , – /
星期 DayofWeek [1, 7]或[MON, SUN]。若运用[1, 7]表达方法,1代表星期一,7代表周日。 * , – / ? L #
年 Year 1970+ – * /

每个字段能够承受特定的数值、范围、通配符和特别字符来指定使命的履行时刻:

  • 数值:表明具体的时刻单位,如1、2、10等。
  • 范围:运用-连接起始和结束的数值,表明一个范围内的一切值,如1-5表明1到5的一切数值。
  • 通配符:运用*表明匹配该字段的一切或许值,如*表明每分钟、每小时、每天等。
  • 逗号分隔:运用逗号分隔多个数值或范围,表明匹配其中恣意一个值,如1,3表明1或3。
  • 步长:运用/表明步长,用于指定距离的数值,如*/5表明每隔5个单位履行一次。
  • 特别字符:Cron表达式还支撑一些特别字符来表明特定的含义,如?用于替代日和星期字段中的恣意值,L表明最终一天,W表明最近的作业日等。

以下是一些常见的Cron表达式示例:

  • * * * * *:每分钟履行一次使命。
  • 0 * * * *:每小时的整点履行一次使命。
  • 0 0 * * *:每天的午夜履行一次使命。
  • 0 0 * * 1:每周一的午夜履行一次使命。
  • 0 0 1 * *:每月的1号午夜履行一次使命。
  • 0 0 1 1 *:每年的1月1日午夜履行一次使命。

代码编写(主动报到)

import schedule from 'node-schedule'
import request from 'request'
import config from './config.js'
schedule.scheduleJob('0 30 0 * * *', () => {
    request(config.check_url, {
        method: 'post',
        headers: {
            Referer: config.url,
            Cookie: config.cookie
        },
    }, function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }
    })
})

config.js

export default {
    cookie: 'sessionid=你的cookie',
    url: 'https://www.6hu.cc/',
    check_url: 'https://api.juejin.cn/growth_api/v1/check_in?aid=你的aid&uid=你的uid'
}

Nodejs 第五十二章(守时使命)

aid uid cookie

aid和uid随便去个接口找一下就有

Nodejs 第五十二章(守时使命)

cookie

Nodejs 第五十二章(守时使命)