【问题标题】:test daily cron job in node js在节点 js 中测试每日 cron 作业
【发布时间】:2021-04-27 02:39:52
【问题描述】:

我有一个应该在每天 8:00 运行的 cron 作业, 我想对其进行测试,当我检查当前日期时,我需要它应该给我假日期。有没有办法每隔几分钟自动伪造一次到第二天的时间? 如果时间戳与当前日期匹配,我需要从数据库中进行选择

import { CronJob } from "cron"

let job = new CronJob('0 0 7 * * *',()=>{
    console.log(new Date().toLocaleString())
    knex('users').select('*').where('date_stamp', new Date())
})

job.start()

【问题讨论】:

    标签: node.js cron


    【解决方案1】:

    您可以将 runOnInit(第 7 个参数 - 请参阅 readme)值设置为 true。这样,它会在创建时立即运行作业。

    let job = new CronJob('* * 7 * * *',()=>{
        console.log(new Date().toLocaleString())
    }, undefined, undefined, undefined, undefined, true);
    

    或者您可以根据您的环境设置间隔。

    const isDev = process.env.ENVIRONMENT == 'dev';
    const cronTime = isDev
        ? '0 * * * * *' // dev interval - every minute
        : '* * 7 * * *'; // prod interval
    
    let job = new CronJob(cronTime,()=>{
        console.log(new Date().toLocaleString())
    });
    

    【讨论】:

    • 我需要有当前日期才能从数据库中选择,我已经更新了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2023-01-31
    • 2011-06-26
    • 2020-06-10
    • 2020-11-10
    • 1970-01-01
    相关资源
    最近更新 更多