完成上架相关优化、oss迁移

This commit is contained in:
supernijia
2026-07-25 17:57:34 +08:00
parent 8ab36b1aaf
commit 4ddb8b47b0
28 changed files with 964 additions and 382 deletions
@@ -25,6 +25,7 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.InjectMocks;
import org.mockito.InOrder;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
@@ -33,6 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.inOrder;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
@@ -83,7 +85,10 @@ class TaskHeartbeatServiceTest {
assertTrue(result.isAlive());
assertEquals(PublishTaskService.MODULE_TYPE, result.getModuleType());
verify(fileTaskMapper).update(isNull(), any(LambdaUpdateWrapper.class));
InOrder routingBeforeUpdate = inOrder(publishTaskService, fileTaskMapper);
routingBeforeUpdate.verify(publishTaskService)
.ensureTaskOwnedByCurrentInstance(task, "publish task heartbeat");
routingBeforeUpdate.verify(fileTaskMapper).update(isNull(), any(LambdaUpdateWrapper.class));
verify(publishTaskService).touchHeartbeat(taskId, request);
}
}
@@ -93,13 +93,14 @@ class TaskResultFileJobWorkerTest {
job.setTaskId(taskId);
job.setResultId(resultId);
job.setModuleType(PublishTaskService.MODULE_TYPE);
job.setScopeKey("publish:20141");
job.setScopeKey("task:20141:owner:instance-a");
FileResultEntity result = new FileResultEntity();
result.setResultFileUrl("result/publish/20141.xlsx");
TaskDistributedLockService.LockHandle lock = mock(TaskDistributedLockService.LockHandle.class);
when(taskFileJobService.markRunning(jobId)).thenReturn(true);
when(instanceMetadata.getInstanceId()).thenReturn("instance-a");
when(taskDistributedLockService.acquire(
PublishTaskService.MODULE_TYPE,
taskId,
@@ -112,4 +113,19 @@ class TaskResultFileJobWorkerTest {
verify(taskFileJobService).markSuccess(job, "result/publish/20141.xlsx");
verifyNoInteractions(taskResultPayloadService);
}
@Test
void publishFileJobOwnedByAnotherInstanceIsNotClaimed() {
TaskFileJobEntity job = new TaskFileJobEntity();
job.setId(13642L);
job.setTaskId(20142L);
job.setResultId(22930L);
job.setModuleType(PublishTaskService.MODULE_TYPE);
job.setScopeKey("task:20142:owner:instance-b");
when(instanceMetadata.getInstanceId()).thenReturn("instance-a");
worker.process(job);
verifyNoInteractions(taskFileJobService, taskDistributedLockService, publishTaskService);
}
}