|
@@ -7,12 +7,12 @@ const schedule = require('node-schedule');
|
|
const manager = new DailyRecordManager();
|
|
const manager = new DailyRecordManager();
|
|
const rabbitMq = require('../src/mq/rabbit-mq');
|
|
const rabbitMq = require('../src/mq/rabbit-mq');
|
|
const helper = require('../src/helper');
|
|
const helper = require('../src/helper');
|
|
-const PullDataService = require('../src/PullDataService');
|
|
|
|
|
|
+const PullDataServiceNew = require('../src/PullDataServiceNew');
|
|
var _24HourRanges = []
|
|
var _24HourRanges = []
|
|
var jobs = []
|
|
var jobs = []
|
|
var cur_day_data = new Map()
|
|
var cur_day_data = new Map()
|
|
var cur_timeRange = null
|
|
var cur_timeRange = null
|
|
-var pullDataService = new PullDataService(redis_help)
|
|
|
|
|
|
+var pullDataService = new PullDataServiceNew(redis_help)
|
|
var cur_page = 0
|
|
var cur_page = 0
|
|
const messageHandler = async (msg) => {
|
|
const messageHandler = async (msg) => {
|
|
let PullDataConfig = await redis_help.getKeyValue("PullDataConfig")
|
|
let PullDataConfig = await redis_help.getKeyValue("PullDataConfig")
|
|
@@ -110,65 +110,7 @@ function generate_pull_time_data(list,material_list){
|
|
sendPullDataMQMessage(JSON.stringify({cmd:"on_recv_pull_data",data:pull_data,today:cur_timeRange.today}))
|
|
sendPullDataMQMessage(JSON.stringify({cmd:"on_recv_pull_data",data:pull_data,today:cur_timeRange.today}))
|
|
}
|
|
}
|
|
|
|
|
|
-async function processDetailTask(task_item) {
|
|
|
|
- try{
|
|
|
|
- console.log(" start processDetailTask")
|
|
|
|
- let materialId_list = task_item.materialId_list
|
|
|
|
- let materialId_data_list = task_item.materialId_data_list
|
|
|
|
- let response = await pullDataService.get_detail(task_item.id_list)
|
|
|
|
- if(!response.success){
|
|
|
|
- console.log("get_detail:",response)
|
|
|
|
- throw {msg:response,timeRange:cur_timeRange,fun:"get_detail",materialId_list:materialId_list}
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(cur_timeRange!=null){
|
|
|
|
- cur_timeRange.finish_count+=materialId_list.length
|
|
|
|
- const today = cur_timeRange.today;
|
|
|
|
- cur_day_data.get(today)[cur_timeRange.start].finish_count = cur_timeRange.finish_count
|
|
|
|
- await manager.updateRecord(today,cur_day_data.get(today));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- for (let j = 0; j < materialId_list.length; j++) {
|
|
|
|
- const materialId = materialId_list[j];
|
|
|
|
- for (let index = 0; index < response.data.list.length; index++) {
|
|
|
|
- const element = response.data.list[index];
|
|
|
|
- if(element.materialId==materialId){
|
|
|
|
- const info = materialId_data_list[element.materialId]
|
|
|
|
- if(element.hasAnchorInfo){
|
|
|
|
- await origin_data_controllers.createOriginData(
|
|
|
|
- {
|
|
|
|
- video_id:element.awemeId,
|
|
|
|
- materialId:element.materialId,
|
|
|
|
- video_link:element.awemeUrl,
|
|
|
|
- title:CMD.subTitle(element.title),
|
|
|
|
- publish_time:new Date(element.publishTime),
|
|
|
|
- kepp_num:info.kepp_num,
|
|
|
|
- comment_num:info.comment_num,
|
|
|
|
- like_num:info.like_num,
|
|
|
|
- shared_num:info.shared_num,
|
|
|
|
- is_guajian:1,
|
|
|
|
- guajian_link:element.landingUrl,
|
|
|
|
- status:0,
|
|
|
|
- createTime_new:new Date(element.createTime),
|
|
|
|
- updateTime_new:new Date(element.updateTime),
|
|
|
|
- create_day:new Date(element.createTime)
|
|
|
|
- }
|
|
|
|
- )
|
|
|
|
- }
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
|
|
|
|
- generate_pull_time_data(response.data.list,task_item.list)
|
|
|
|
- console.log(" finish processDetailTask")
|
|
|
|
- }catch (error) {
|
|
|
|
- console.error("processDetailTask:",error)
|
|
|
|
- }finally{
|
|
|
|
- // global.setTimeout(processDetailTask,500)
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
|
|
async function process_material_list(response,page) {
|
|
async function process_material_list(response,page) {
|
|
try{
|
|
try{
|
|
@@ -236,20 +178,23 @@ async function processTask(){
|
|
FilterConfig = JSON.parse(FilterConfig)
|
|
FilterConfig = JSON.parse(FilterConfig)
|
|
let response = await pullDataService.get_novel_material_list(cur_timeRange,cur_page,500)
|
|
let response = await pullDataService.get_novel_material_list(cur_timeRange,cur_page,500)
|
|
|
|
|
|
- if(response.success){
|
|
|
|
|
|
+ if(response.msg=="success"){
|
|
if(response.data.list.length<=0){
|
|
if(response.data.list.length<=0){
|
|
cur_page = -1;
|
|
cur_page = -1;
|
|
throw response
|
|
throw response
|
|
}
|
|
}
|
|
|
|
+ let last_data = response.data.list[response.data.list.length-1]
|
|
|
|
+ cur_page = new Date(last_data["updateTime"]);
|
|
|
|
+ let endTime = new Date(cur_timeRange.pull_day);
|
|
|
|
+ if(cur_page>=endTime){
|
|
|
|
+ cur_page = -1;
|
|
|
|
+ throw response
|
|
|
|
+ }
|
|
}else{
|
|
}else{
|
|
cur_page = -1;
|
|
cur_page = -1;
|
|
throw response
|
|
throw response
|
|
}
|
|
}
|
|
-
|
|
|
|
- let detail_item = await process_material_list(response,cur_page,cur_timeRange)
|
|
|
|
-
|
|
|
|
- await processDetailTask(detail_item)
|
|
|
|
-
|
|
|
|
|
|
+ sendPullDataMQMessage(JSON.stringify({cmd:"on_recv_pull_data",data:response.data.list,today:cur_timeRange.today}))
|
|
// if(detail_item.materialId_list.length<=0){
|
|
// if(detail_item.materialId_list.length<=0){
|
|
|
|
|
|
// }else{
|
|
// }else{
|
|
@@ -309,7 +254,6 @@ CMD.init = async function(){
|
|
cur_day_data.set(key,record_res.content)
|
|
cur_day_data.set(key,record_res.content)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- await pullDataService.getToken()
|
|
|
|
// 启动调度器
|
|
// 启动调度器
|
|
CMD.startScheduler(taskCallback);
|
|
CMD.startScheduler(taskCallback);
|
|
})
|
|
})
|
|
@@ -546,7 +490,6 @@ CMD.startScheduler = function(taskCallback) {
|
|
try {
|
|
try {
|
|
console.log(`开始执行任务: ${timeRange.name} ${timeRange.start}`);
|
|
console.log(`开始执行任务: ${timeRange.name} ${timeRange.start}`);
|
|
|
|
|
|
- await pullDataService.getToken()
|
|
|
|
|
|
|
|
// 执行回调函数
|
|
// 执行回调函数
|
|
await taskCallback({
|
|
await taskCallback({
|
|
@@ -575,9 +518,9 @@ CMD.startScheduler = function(taskCallback) {
|
|
async function sendPullDataMQMessage(message,routingKey = "on_recv_pull_data") {
|
|
async function sendPullDataMQMessage(message,routingKey = "on_recv_pull_data") {
|
|
try {
|
|
try {
|
|
if(routingKey!=null){
|
|
if(routingKey!=null){
|
|
- await rabbitMq.producerDirectMsg( message,"exchange_pull_data_system",routingKey);
|
|
|
|
|
|
+ await rabbitMq.producerDirectMsg( message,"exchange_pull_data_system_new",routingKey);
|
|
}else{
|
|
}else{
|
|
- await rabbitMq.producerDirectMsg( message,"exchange_pull_data_system");
|
|
|
|
|
|
+ await rabbitMq.producerDirectMsg( message,"exchange_pull_data_system_new");
|
|
}
|
|
}
|
|
console.log('消息发送成功');
|
|
console.log('消息发送成功');
|
|
} catch (error) {
|
|
} catch (error) {
|
|
@@ -585,6 +528,6 @@ async function sendPullDataMQMessage(message,routingKey = "on_recv_pull_data") {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-if(!config.isDebug){
|
|
|
|
|
|
+if(config.isDebug){
|
|
CMD.init()
|
|
CMD.init()
|
|
}
|
|
}
|