|
@@ -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) {
|