Commit 745c3764 by liuyu

2024/12/02 定时清理ai标注缓存

parent 66fe25d0
package com.zhiwei.middleware.automatic.server.dao;
import org.springframework.data.mongodb.core.query.Query;
public interface AiApiResultDao {
void remove(Query query);
}
package com.zhiwei.middleware.automatic.server.dao.impl;
import com.zhiwei.middleware.automatic.server.dao.AiApiResultDao;
import com.zhiwei.middleware.automatic.server.pojo.AiApiResult;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
@Component
public class AiApiResultDaoImpl implements AiApiResultDao {
private final MongoTemplate mongoTemplate;
private static final String COLLECTION_NAME = "marker_ai_api_result";
public AiApiResultDaoImpl (@Qualifier("markerMongoTemplate") MongoTemplate mongoTemplate) {
this.mongoTemplate = mongoTemplate;
}
@Override
public void remove(Query query) {
mongoTemplate.remove(query, AiApiResult.class, COLLECTION_NAME);
}
}
package com.zhiwei.middleware.automatic.server.mission; package com.zhiwei.middleware.automatic.server.mission;
import com.zhiwei.middleware.automatic.server.common.GenericAttribute; import com.zhiwei.middleware.automatic.server.common.GenericAttribute;
import com.zhiwei.middleware.automatic.server.dao.AiApiResultDao;
import com.zhiwei.middleware.automatic.server.dao.AiMarkCountDao; import com.zhiwei.middleware.automatic.server.dao.AiMarkCountDao;
import com.zhiwei.middleware.automatic.server.dao.AiMarkProjectCacheDao; import com.zhiwei.middleware.automatic.server.dao.AiMarkProjectCacheDao;
import com.zhiwei.middleware.automatic.server.pojo.AiMarkCount; import com.zhiwei.middleware.automatic.server.pojo.AiMarkCount;
...@@ -11,6 +12,8 @@ import com.zhiwei.middleware.automatic.server.util.Tools; ...@@ -11,6 +12,8 @@ import com.zhiwei.middleware.automatic.server.util.Tools;
import com.zhiwei.qbjc.bean.pojo.common.Project; import com.zhiwei.qbjc.bean.pojo.common.Project;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Calendar; import java.util.Calendar;
...@@ -28,6 +31,8 @@ public class AsyncTask { ...@@ -28,6 +31,8 @@ public class AsyncTask {
private final AiMarkProjectCacheDao aiMarkProjectCacheDao; private final AiMarkProjectCacheDao aiMarkProjectCacheDao;
private final AiApiResultDao aiApiResultDao;
public static Long DAY_START_TIME; public static Long DAY_START_TIME;
public static Long DAY_END_TIME; public static Long DAY_END_TIME;
...@@ -36,11 +41,12 @@ public class AsyncTask { ...@@ -36,11 +41,12 @@ public class AsyncTask {
public AsyncTask(@Qualifier("hangzhouMongoTemplate") MongoTemplate hangZhouMongo, public AsyncTask(@Qualifier("hangzhouMongoTemplate") MongoTemplate hangZhouMongo,
AiMarkCountDao aiMarkCountDao, RedissonUtil redissonUtil, AiMarkCountDao aiMarkCountDao, RedissonUtil redissonUtil,
AiMarkProjectCacheDao aiMarkProjectCacheDao) { AiMarkProjectCacheDao aiMarkProjectCacheDao, AiApiResultDao aiApiResultDao) {
this.hangZhouMongo = hangZhouMongo; this.hangZhouMongo = hangZhouMongo;
this.aiMarkCountDao = aiMarkCountDao; this.aiMarkCountDao = aiMarkCountDao;
this.redissonUtil = redissonUtil; this.redissonUtil = redissonUtil;
this.aiMarkProjectCacheDao = aiMarkProjectCacheDao; this.aiMarkProjectCacheDao = aiMarkProjectCacheDao;
this.aiApiResultDao = aiApiResultDao;
} }
public List<String> findAllGroup() { public List<String> findAllGroup() {
...@@ -78,4 +84,8 @@ public class AsyncTask { ...@@ -78,4 +84,8 @@ public class AsyncTask {
} }
} }
public void cleanAiResCache() {
aiApiResultDao.remove(new Query(Criteria.where("createAt").lt(System.currentTimeMillis() - ( GenericAttribute.DAY_TIME * 60))));
}
} }
...@@ -18,7 +18,7 @@ public class CidRecordMission { ...@@ -18,7 +18,7 @@ public class CidRecordMission {
private static final String QUEUE_KEY = "cidRepeatQueue"; private static final String QUEUE_KEY = "cidRepeatQueue";
@Scheduled(cron = "0/1 * * * * ?") @Scheduled(cron = "0/5 * * * * ?")
@Async("asyncExecutor") @Async("asyncExecutor")
public void pullData() { public void pullData() {
try { try {
......
...@@ -100,6 +100,7 @@ public class ScheduledMission { ...@@ -100,6 +100,7 @@ public class ScheduledMission {
public void syncDayCount() { public void syncDayCount() {
try { try {
asyncTask.syncDayCount(); asyncTask.syncDayCount();
asyncTask.cleanAiResCache();
} catch (Exception e) { } catch (Exception e) {
log.error("ai标注每日统计失败:", e); log.error("ai标注每日统计失败:", e);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment