Commit 79d76579547d7e56feca2e1f5cc40f9ba91a731b
1 parent
f1d02cbe
2022年5月26日16:58:28 修复jpa修改数据问题, 更改定时任务为fixRate方式
Showing
1 changed file
with
7 additions
and
12 deletions
src/main/java/cn/fw/freya/task/DataCaptureTask.java
... | ... | @@ -9,6 +9,7 @@ import cn.fw.freya.service.crawl.impl.Common; |
9 | 9 | import cn.fw.freya.service.crawl.impl.KuaiShouCrawl; |
10 | 10 | import cn.fw.freya.service.data.AccountService; |
11 | 11 | import cn.fw.freya.utils.DateUtil; |
12 | +import cn.fw.freya.utils.PublicUtil; | |
12 | 13 | import cn.fw.freya.utils.ThreadPoolUtil; |
13 | 14 | import com.alibaba.fastjson.JSONArray; |
14 | 15 | import com.alibaba.fastjson.JSONObject; |
... | ... | @@ -96,7 +97,7 @@ public class DataCaptureTask { |
96 | 97 | /** |
97 | 98 | * 每2分钟执行抓取数据 |
98 | 99 | */ |
99 | - @Scheduled(cron = "0 0/2 * * * ?") | |
100 | + @Scheduled(fixedRate = 2 * 60 * 1000, initialDelay = 5000) | |
100 | 101 | public void captureLivePlayback() { |
101 | 102 | final Random random = new Random(); |
102 | 103 | List<LivePool> withoutPlaybackLive = common.getWithoutPlaybackLive(1, 60d) |
... | ... | @@ -120,21 +121,15 @@ public class DataCaptureTask { |
120 | 121 | for (LivePool item : list) { |
121 | 122 | JSONObject obj = kuaiShouCrawl.setPlaybackUrl(item, playbackMsg); |
122 | 123 | String playbackUrl = obj.getString("playbackUrl"); |
124 | + final LivePool livePool = PublicUtil.copy(item, LivePool.class);// 对象拷贝 | |
123 | 125 | if (Objects.isNull(playbackUrl)) { |
124 | - livePoolDao.save(LivePool.builder() | |
125 | - .id(item.getId()) | |
126 | - .getPlaybackFailTimes(item.getGetPlaybackFailTimes() + 1) | |
127 | - .build() | |
128 | - ); | |
126 | + livePool.setGetPlaybackFailTimes(livePool.getGetPlaybackFailTimes() + 1); | |
129 | 127 | } else { |
130 | 128 | flag = true; |
131 | - livePoolDao.save(LivePool.builder() | |
132 | - .id(item.getId()) | |
133 | - .roomCoverImage(obj.getString("coverUrl")) | |
134 | - .playbackUrl(playbackUrl) | |
135 | - .build() | |
136 | - ); | |
129 | + livePool.setRoomCoverImage(obj.getString("coverUrl")); | |
130 | + livePool.setPlaybackUrl(playbackUrl); | |
137 | 131 | } |
132 | + livePoolDao.save(livePool); | |
138 | 133 | } |
139 | 134 | if (flag) { |
140 | 135 | final ArrayList<LivePool> livePools = new ArrayList<>(); | ... | ... |