|
1 | 1 | package tech.powerjob.server.core.instance; |
2 | 2 |
|
3 | | -import org.springframework.core.task.AsyncTaskExecutor; |
4 | | -import org.springframework.core.task.TaskExecutor; |
5 | | -import tech.powerjob.common.enums.LogLevel; |
6 | | -import tech.powerjob.common.OmsConstant; |
7 | | -import tech.powerjob.common.enums.TimeExpressionType; |
8 | | -import tech.powerjob.common.model.InstanceLogContent; |
9 | | -import tech.powerjob.common.utils.CommonUtils; |
10 | | -import tech.powerjob.common.utils.NetUtils; |
11 | | -import tech.powerjob.common.utils.SegmentLock; |
12 | | -import tech.powerjob.server.common.constants.PJThreadPool; |
13 | | -import tech.powerjob.server.extension.dfs.*; |
14 | | -import tech.powerjob.server.persistence.storage.Constants; |
15 | | -import tech.powerjob.server.remote.server.redirector.DesignateServer; |
16 | | -import tech.powerjob.server.common.utils.OmsFileUtils; |
17 | | -import tech.powerjob.server.persistence.StringPage; |
18 | | -import tech.powerjob.server.persistence.remote.model.JobInfoDO; |
19 | | -import tech.powerjob.server.persistence.local.LocalInstanceLogDO; |
20 | | -import tech.powerjob.server.persistence.local.LocalInstanceLogRepository; |
21 | 3 | import com.google.common.base.Stopwatch; |
22 | 4 | import com.google.common.collect.Lists; |
23 | 5 | import com.google.common.collect.Maps; |
|
27 | 9 | import org.apache.commons.lang3.time.FastDateFormat; |
28 | 10 | import org.springframework.beans.BeanUtils; |
29 | 11 | import org.springframework.beans.factory.annotation.Value; |
| 12 | +import org.springframework.core.task.AsyncTaskExecutor; |
30 | 13 | import org.springframework.scheduling.annotation.Async; |
31 | 14 | import org.springframework.scheduling.annotation.Scheduled; |
32 | 15 | import org.springframework.stereotype.Service; |
33 | 16 | import org.springframework.transaction.support.TransactionTemplate; |
34 | 17 | import org.springframework.util.CollectionUtils; |
| 18 | +import tech.powerjob.common.OmsConstant; |
| 19 | +import tech.powerjob.common.enums.LogLevel; |
| 20 | +import tech.powerjob.common.enums.TimeExpressionType; |
| 21 | +import tech.powerjob.common.model.InstanceLogContent; |
| 22 | +import tech.powerjob.common.utils.CommonUtils; |
| 23 | +import tech.powerjob.common.utils.NetUtils; |
| 24 | +import tech.powerjob.common.utils.SegmentLock; |
| 25 | +import tech.powerjob.server.common.constants.PJThreadPool; |
| 26 | +import tech.powerjob.server.common.utils.OmsFileUtils; |
| 27 | +import tech.powerjob.server.extension.dfs.*; |
| 28 | +import tech.powerjob.server.persistence.StringPage; |
| 29 | +import tech.powerjob.server.persistence.local.LocalInstanceLogDO; |
| 30 | +import tech.powerjob.server.persistence.local.LocalInstanceLogRepository; |
| 31 | +import tech.powerjob.server.persistence.remote.model.JobInfoDO; |
| 32 | +import tech.powerjob.server.persistence.storage.Constants; |
| 33 | +import tech.powerjob.server.remote.server.redirector.DesignateServer; |
35 | 34 |
|
36 | 35 | import javax.annotation.Resource; |
37 | 36 | import java.io.*; |
38 | 37 | import java.util.List; |
39 | 38 | import java.util.Map; |
40 | 39 | import java.util.Optional; |
41 | | -import java.util.concurrent.*; |
| 40 | +import java.util.concurrent.Future; |
| 41 | +import java.util.concurrent.TimeUnit; |
| 42 | +import java.util.concurrent.TimeoutException; |
42 | 43 | import java.util.stream.Collectors; |
43 | 44 | import java.util.stream.Stream; |
44 | 45 |
|
@@ -91,9 +92,9 @@ public class InstanceLogService { |
91 | 92 | */ |
92 | 93 | private static final int MAX_LINE_COUNT = 100; |
93 | 94 | /** |
94 | | - * 过期时间 |
| 95 | + * 更新中的日志缓存时间 |
95 | 96 | */ |
96 | | - private static final long EXPIRE_INTERVAL_MS = 60000; |
| 97 | + private static final long LOG_CACHE_TIME = 10000; |
97 | 98 |
|
98 | 99 | /** |
99 | 100 | * 提交日志记录,持久化到本地数据库中 |
@@ -248,7 +249,7 @@ private File genTemporaryLogFile(long instanceId) { |
248 | 249 | return localTransactionTemplate.execute(status -> { |
249 | 250 | File f = new File(path); |
250 | 251 | // 如果文件存在且有效,则不再重新构建日志文件(这个判断也需要放在锁内,否则构建到一半的文件会被返回) |
251 | | - if (f.exists() && (System.currentTimeMillis() - f.lastModified()) < EXPIRE_INTERVAL_MS) { |
| 252 | + if (f.exists() && (System.currentTimeMillis() - f.lastModified()) < LOG_CACHE_TIME) { |
252 | 253 | return f; |
253 | 254 | } |
254 | 255 | try { |
|
0 commit comments