我想在某些条件下停止节点 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');
})
});
}
Run Code Online (Sandbox Code Playgroud)
我想停止这项工作,但无法做到。
Ari*_*rty 11
由于对这些包所做的更改,以下答案现在可能不相关。这scheduleJob本来是一个伪代码,只是为了创建一个工作。目的是展示如何阻止他们。
以下是为三个 cron 模块(cron、node-cron和node-schedule)实例化、启动和停止调度的 cron 作业的综合摘要:
1. 克朗
为了cancel作业,您可以创建具有唯一名称的作业。
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();
Run Code Online (Sandbox Code Playgroud)
它应该取消作业。
2.节点-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();
Run Code Online (Sandbox Code Playgroud)
3. 节点调度
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();
}
Run Code Online (Sandbox Code Playgroud)
由Aritra Chakraborty和ILuvLogix总结
var\xc2\xa0cron\xc2\xa0=\xc2\xa0require('node-cron');\n\n var\xc2\xa0task\xc2\xa0=\xc2\xa0cron.schedule('*\xc2\xa0*\xc2\xa0*\xc2\xa0*\xc2\xa0*',\xc2\xa0()\xc2\xa0=>\xc2\xa0\xc2\xa0{\n\xc2\xa0 console.log('will\xc2\xa0execute\xc2\xa0every\xc2\xa0minute\xc2\xa0until\xc2\xa0stopped');\n});\ntask.stop(); \nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
12947 次 |
| 最近记录: |