parent
53c011a682
commit
b99b509c28
@ -0,0 +1,4 @@
|
||||
package kr.re.etri.autoflow.payload.request;
|
||||
|
||||
// 이벤트 클래스
|
||||
public record RunCreatedEvent(String runId) {}
|
||||
@ -0,0 +1,35 @@
|
||||
package kr.re.etri.autoflow.service;
|
||||
|
||||
import kr.re.etri.autoflow.payload.request.RunCreatedEvent;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.batch.core.Job;
|
||||
import org.springframework.batch.core.JobParametersBuilder;
|
||||
import org.springframework.batch.core.launch.JobLauncher;
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class RunCreatedListener {
|
||||
|
||||
private final JobLauncher jobLauncher;
|
||||
private final Job runSyncJob;
|
||||
|
||||
@Async
|
||||
@EventListener
|
||||
public void onRunCreated(RunCreatedEvent event) {
|
||||
try {
|
||||
jobLauncher.run(
|
||||
runSyncJob,
|
||||
new JobParametersBuilder()
|
||||
.addString("runId", event.runId())
|
||||
.addLong("time", System.currentTimeMillis()) // 중복 실행 방지용
|
||||
.toJobParameters()
|
||||
);
|
||||
} catch (Exception e) {
|
||||
// 로깅 처리
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue