gpt4 book ai didi

node.js - 如何停止 Node cron 作业

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:13 34 4
gpt4 key购买 nike

我想在某些条件下停止 Node cron 作业。

这就是我开始每 1 秒运行一次任务的方式。

const runScheduler = (url)=>{
cron.schedule('*/1 * * * * *', () => {
console.log('running a task every one second');
async.waterfall([ getUrlDelay(url), dbMethods.updateUrlResponses(url) ],function(err, success){
if(err) return console.log('Url Not Found');
})
});
}

我想停止这项工作,但无法做到。

最佳答案

由于对这些软件包所做的更改,以下答案现在可能不相关。 scheduleJob 是一个伪代码,用于创建作业。目的是展示如何阻止它们。

<小时/>

以下是对三个 cron 模块( cronnode-cronnode-schedule )的实例化、启动和停止预定 cron 作业的全面摘要:

<强>1。克朗

取消作业,您可以创建一个具有唯一名称的作业。

var cron = require('cron').CronJob;

var j = cron.scheduleJob(unique_name, '*/1 * * * * *',()=>{
//Do some work
});
// for some condition in some code
let my_job = cron.scheduledJobs[unique_name];
my_job.stop();

它应该取消该作业。

<强>2。 Node -CRON

var cron = require('node-cron');

const url_taskMap = {};
const task = cron.schedule('*/1 * * * * *',()=>{
//Foo the bar..
});
url_taskMap[url] = task;
// for some condition in some code
let my_job = url_taskMap[url];
my_job.stop();

<强>3。 Node 计划

var schedule = require('node-schedule');

let uniqueJobName = specificURL;
// Shedule job according to timed according to cron expression
var job = schedule.scheduleJob(uniqueJobName,'*/10 * * * * *', function(){
//Bar the foo..
});
// Inspect the job object (i.E.: job.name etc.)
console.log(`************** JOB: ******************`);
console.log(job);

// To cancel the job on a certain condition (uniqueJobName must be known)
if (<someCondition>) {
let current_job = schedule.scheduledJobs[uniqueJobName];
current_job.cancel();
}

总结者Aritra Chakraborty & ILuvLogix

关于node.js - 如何停止 Node cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53684668/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com