gpt4 book ai didi

node.js - nodejs Kue 的条件尝试

转载 作者:IT王子 更新时间:2023-10-29 06:02:56 27 4
gpt4 key购买 nike

我正在使用 kue在一个网络爬虫应用程序中。如果错误符合特定条件,我想为某些失败的作业设置 attempts。例如,如果错误是由套接字挂起引起的,则作业将以 1 分钟的间隔重试 3 次。

我的代码如下所示,但不起作用

var kue = require('kue');
var queue = kue.createQueue();
queue.process('grab', function (job, done){
//doCrawlingJob is async call and returns promise
doCrawlingJob(job).then(function(result){
done();
}.catch(function(err){
if (err.message.indexOf("socket hang up") >= 0) {
job.attempts(3).backoff({delay:60*1000});
job.save(function(){
done(err);
});
} else {
done(err);
}
);
});
//...
var job = queue.create('grab', data).removeOnComplete(true).save();

最佳答案

这可能无法回答您的问题,但我注意到您的代码片段中存在一些格式错误。尝试像这样添加一些括号:

queue.process('grab', function (job, done){
//doCrawlingJob is async call and returns promise
doCrawlingJob(job).then(function(result){
done();
}).catch(function(err){
if (err.message.indexOf("socket hang up") >= 0) {
job.attempts(3).backoff({delay:60*1000});
job.save(function(){
done(err);
});
} else {
done(err);
}
});
});

关于node.js - nodejs Kue 的条件尝试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496111/

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