|
|
|
@ -1,6 +1,8 @@
@@ -1,6 +1,8 @@
|
|
|
|
|
/** |
|
|
|
|
* 爬虫主程序 |
|
|
|
|
* 负责监听任务目录里的新任务,并自动抓取数据保存到数据目录。 |
|
|
|
|
* 增加失败任务的重试机制 |
|
|
|
|
* 增加失败任务上报 |
|
|
|
|
*/ |
|
|
|
|
import getConfigs from './config.mjs'; |
|
|
|
|
import common from './lib/common.mjs'; |
|
|
|
@ -93,7 +95,21 @@ import cron from 'node-cron';
@@ -93,7 +95,21 @@ import cron from 'node-cron';
|
|
|
|
|
taskMoniter.setTaskFailed(task.id); |
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
//失败后最多重试 5 次
|
|
|
|
|
if (typeof(task.fail_retry) == 'undefined') { |
|
|
|
|
task.fail_retry = 0; |
|
|
|
|
}else { |
|
|
|
|
task.fail_retry ++; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
taskMoniter.updateTask(task.id, task); |
|
|
|
|
|
|
|
|
|
if (task.fail_retry > configs.max_fail_retry) { |
|
|
|
|
taskMoniter.setTaskFailed(task.id); |
|
|
|
|
|
|
|
|
|
//上报联盟,任务失败
|
|
|
|
|
heroBot.saveTaskData(task.id, task.token, [], 'failed'); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
spider_is_running = false; |
|
|
|
|