|
@@ -71,69 +71,75 @@ async function processTask(){
|
|
|
}
|
|
|
let FilterConfig = await redis_help.getKeyValue("FilterConfig")
|
|
|
FilterConfig = JSON.parse(FilterConfig)
|
|
|
- result = await filter_data_controllers.getFilterDataByStatusAndLimit({ status: 0 , tg_platform_id: config.platform_heiyan },500,"DESC");
|
|
|
+ result = await filter_data_controllers.getFilterDataByStatusAndLimit({ status: 0 , tg_platform_id: config.platform_heiyan },1,"DESC");
|
|
|
if(result.success){
|
|
|
- let ProductIds = []
|
|
|
- let FilterList = []
|
|
|
- let UpdateProductList = []
|
|
|
+ // let ProductIds = []
|
|
|
+ // let FilterList = []
|
|
|
+ // let UpdateProductList = []
|
|
|
if(result.data.length<=0){
|
|
|
throw '没有数据可处理!'
|
|
|
}
|
|
|
for (let index = 0; index < result.data.length; index++) {
|
|
|
let filter_item = result.data[index];
|
|
|
- ProductIds.push(filter_item.book_id)
|
|
|
- FilterList[filter_item.book_id] = filter_item
|
|
|
- if(UpdateProductList[filter_item.book_id]==null){
|
|
|
- UpdateProductList[filter_item.book_id]= []
|
|
|
+ let product_info = await video_product_controllers.getProductData(filter_item.book_id);
|
|
|
+ if(!product_info.success){
|
|
|
+ task_queue.push({result:{data:filter_item}})
|
|
|
+ }else{
|
|
|
+ await filter_data_controllers.updateFilterData({id:filter_item.id},{status:1,book_id:filter_item.book_id,book_name:filter_item.book_name,genre:filter_item.genre,words:filter_item.words})
|
|
|
}
|
|
|
- UpdateProductList[filter_item.book_id].push(filter_item.id)
|
|
|
+ // ProductIds.push(filter_item.book_id)
|
|
|
+ // FilterList[filter_item.book_id] = filter_item
|
|
|
+ // if(UpdateProductList[filter_item.book_id]==null){
|
|
|
+ // UpdateProductList[filter_item.book_id]= []
|
|
|
+ // }
|
|
|
+ // UpdateProductList[filter_item.book_id].push(filter_item.id)
|
|
|
}
|
|
|
|
|
|
- let product_list_result = await video_product_controllers.findNonExistentProductIds(ProductIds);
|
|
|
- if(product_list_result.success){
|
|
|
- let FinishProductList = []
|
|
|
- for (let index = 0; index < result.data.length; index++) {
|
|
|
- let filter_item = result.data[index];
|
|
|
- if(product_list_result.data.existingProductIds.has(filter_item.book_id)&&!FinishProductList[filter_item.book_id]){
|
|
|
- let info = filter_item;
|
|
|
- FinishProductList[filter_item.book_id] = true
|
|
|
- let product_item = getProductById(product_list_result.data.existingRecords,filter_item.book_id)
|
|
|
- if (!info) {
|
|
|
- throw `No filter info found for book_id: ${filter_item.book_id}`
|
|
|
- }
|
|
|
- if (!product_item) {
|
|
|
- throw `product_item is null: ${filter_item.book_id}`
|
|
|
- }
|
|
|
- info.words = product_item.words
|
|
|
- info.genre = product_item.genre
|
|
|
- info.book_id = product_item.product_id
|
|
|
- info.book_name = product_item.product_name
|
|
|
- info.book_platform = product_item.book_platform
|
|
|
- await CMD.update_filter_data(FilterConfig,info)
|
|
|
- await updateSameProductId(UpdateProductList[info.book_id],info)
|
|
|
- await new Promise(resolve => setTimeout(resolve,100));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- let remove_product_list = []
|
|
|
-
|
|
|
- for (let index = 0; index < product_list_result.data.nonExistentIds.length; index++) {
|
|
|
- const product_id = product_list_result.data.nonExistentIds[index];
|
|
|
- if(remove_product_list[product_id]==true){
|
|
|
+ // let product_list_result = await video_product_controllers.findNonExistentProductIds(ProductIds);
|
|
|
+ // if(product_list_result.success){
|
|
|
+ // let FinishProductList = []
|
|
|
+ // for (let index = 0; index < result.data.length; index++) {
|
|
|
+ // let filter_item = result.data[index];
|
|
|
+ // if(product_list_result.data.existingProductIds.has(filter_item.book_id)&&!FinishProductList[filter_item.book_id]){
|
|
|
+ // let info = filter_item;
|
|
|
+ // FinishProductList[filter_item.book_id] = true
|
|
|
+ // let product_item = getProductById(product_list_result.data.existingRecords,filter_item.book_id)
|
|
|
+ // if (!info) {
|
|
|
+ // throw `No filter info found for book_id: ${filter_item.book_id}`
|
|
|
+ // }
|
|
|
+ // if (!product_item) {
|
|
|
+ // throw `product_item is null: ${filter_item.book_id}`
|
|
|
+ // }
|
|
|
+ // info.words = product_item.words
|
|
|
+ // info.genre = product_item.genre
|
|
|
+ // info.book_id = product_item.product_id
|
|
|
+ // info.book_name = product_item.product_name
|
|
|
+ // info.book_platform = product_item.book_platform
|
|
|
+ // await CMD.update_filter_data(FilterConfig,info)
|
|
|
+ // await updateSameProductId(UpdateProductList[info.book_id],info)
|
|
|
+ // await new Promise(resolve => setTimeout(resolve,100));
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ // let remove_product_list = []
|
|
|
+
|
|
|
+ // for (let index = 0; index < product_list_result.data.nonExistentIds.length; index++) {
|
|
|
+ // const product_id = product_list_result.data.nonExistentIds[index];
|
|
|
+ // if(remove_product_list[product_id]==true){
|
|
|
|
|
|
- }else{
|
|
|
- remove_product_list[product_id] = true
|
|
|
- task_queue.push({result:{data:FilterList[product_id]}})
|
|
|
- }
|
|
|
- }
|
|
|
+ // }else{
|
|
|
+ // remove_product_list[product_id] = true
|
|
|
+ // task_queue.push({result:{data:FilterList[product_id]}})
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
- }
|
|
|
+ // }
|
|
|
|
|
|
}
|
|
|
}catch(e){
|
|
|
console.error("processTask error:",e)
|
|
|
} finally{
|
|
|
- global.setTimeout(processTask, 1000);
|
|
|
+ global.setTimeout(processTask, 2000);
|
|
|
}
|
|
|
|
|
|
}
|