Parcourir la source

ContentPreFilterJob

wangyunpeng il y a 2 jours
Parent
commit
d33edb274e

+ 9 - 6
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/XxlJobService.java

@@ -1157,17 +1157,21 @@ public class XxlJobService {
 
     @XxlJob("ContentPreFilterJob")
     public ReturnT<String> ContentPreFilterJob(String param) {
-        gzhWaitingPublishContentPreFilter();
+        gzhWaitingPublishContentPreFilter(1);
         return ReturnT.SUCCESS;
     }
 
     @Scheduled(cron = "0 0 2 * * ?")
-    public ReturnT<String> gzhWaitingPublishContentPreFilter() {
+    public void ContentPreFilterSchedule() {
+        gzhWaitingPublishContentPreFilter(6);
+    }
+
+    public void gzhWaitingPublishContentPreFilter(Integer serverSize) {
         boolean lockAcquired = false;
         String lockKey = "ContentPreFilterJobLock-";
         String requestId = UUID.randomUUID().toString();
         Integer index = 0;
-        for (int i = 0; i < 6; i++) {
+        for (int i = 0; i < serverSize; i++) {
             String redisKey = lockKey + i;
             lockAcquired = redisUtil.tryAcquireLock(redisKey, requestId, 600L);
             if (lockAcquired) {
@@ -1179,7 +1183,7 @@ public class XxlJobService {
         }
         if (!lockAcquired) {
             log.error("ContentPreFilterJob lock failed");
-            return ReturnT.SUCCESS;
+            return;
         }
         List<PublishPlanAccountDTO> planAccountList = longArticleBaseMapper.getGroupPublishPlanAccounts();
         ExecutorService thread = new CommonThreadPoolExecutor(
@@ -1191,7 +1195,7 @@ public class XxlJobService {
         String dateStr = DateUtils.getCurrentDateStr("yyyyMMdd");
         for (PublishPlanAccountDTO item : planAccountList) {
             String redisKey = "ContentPreFilterJob:" + dateStr + ":" + item.getPlanId() + "-" + item.getAccountId();
-            if (!(calculateRemainder(item.getAccountId(), 6) == index)) {
+            if (!(calculateRemainder(item.getAccountId(), serverSize) == index)) {
                 continue;
             }
             Integer finalIndex = index;
@@ -1244,7 +1248,6 @@ public class XxlJobService {
         } finally {
             redisUtil.releaseLock(lockKey, requestId);
         }
-        return ReturnT.SUCCESS;
     }
 
     private List<LongArticleSystemFilterSortContentParam> buildFilterSortContentList(FilterResult filterResult) {

+ 1 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/web/XxlJobController.java

@@ -134,7 +134,7 @@ public class XxlJobController {
 
     @GetMapping("/gzhWaitingPublishContentPreFilter")
     public void gzhWaitingPublishContentPreFilter() {
-        service.gzhWaitingPublishContentPreFilter();
+        service.gzhWaitingPublishContentPreFilter(1);
     }
 
 }