package com.myoa.engineering.crawl.ppomppu.receiver.scheduler; import java.util.Arrays; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import com.myoa.engineering.crawl.ppomppu.receiver.service.ProcessorAPIService; import com.myoa.engineering.crawl.ppomppu.support.dto.code.PpomppuBoardName; import lombok.extern.slf4j.Slf4j; /** * ParseEventEmitter * @author Shin Woo-jin (woo-jin.shin@linecorp.com) * @since 2021-09-05 * */ @Slf4j @Component @EnableScheduling public class ParseEventEmitter { private final ProcessorAPIService processorAPIService; public ParseEventEmitter(ProcessorAPIService processorAPIService) { this.processorAPIService = processorAPIService; } @Scheduled(fixedRate = 600 * 1000L) public void emitBoards() { log.info("[emitDomesticBoard] trigger fired!"); Arrays.stream(PpomppuBoardName.values()) .filter(PpomppuBoardName::isCrawlWithDefaultTimer) .forEach(boardName -> processorAPIService.emitParseEvent(boardName).block()); } }