Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ class CrawlingScheduler (
private val dietCrawlingService: DietCrawlingService,
private val scheduleCrawlingService: ScheduleCrawlingService,
) {
@Scheduled(cron = "0 */10 9-19 * * MON-FRI")
// @Scheduled(cron = "0 */10 9-19 * * MON-FRI")
@Scheduled(cron = "0 */10 * * * *")
fun noticeCrawling() {
departmentNoticeCrawlingService.addRecentDepartmentNotice()
universityNoticeCrawlingService.addRecentUniversityNotice()
}

@Scheduled(cron = "0 */10 8-20 * * *")
// @Scheduled(cron = "0 */10 8-20 * * *")
@Scheduled(cron = "0 */10 * * * *")
fun dietAndScheduleCrawling() {
dietCrawlingService.updateToRecentDiet()
scheduleCrawlingService.updateToRecentSchedule()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.dmforu.crawling.loader.JsoupHtmlLoader
import com.dmforu.crawling.parser.DepartmentCrawlingPath
import com.dmforu.crawling.parser.DepartmentNoticeParser
import com.dmforu.domain.notice.*
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.ObjectProvider
import org.springframework.stereotype.Service

Expand All @@ -22,6 +24,8 @@ class DepartmentNoticeCrawlingService(

private fun crawlMajorDepartment(major: DepartmentCrawlingPath) {
val parser = DepartmentNoticeParser(htmlLoader)
val log: Logger = LoggerFactory.getLogger(DepartmentNoticeParser::class.java)
log.info("${major} 스크래핑 시작")

val maxNumber = noticeReader.findMaxNumberByType(major.type)
val currentMaxNumber = maxNumber ?: 0
Expand All @@ -31,6 +35,7 @@ class DepartmentNoticeCrawlingService(
val isNewNoticeFound = noticeService.saveNewNotices(notices, currentMaxNumber)

if (!isNewNoticeFound) {
log.info("${major} 스크래핑 종료")
return
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package com.dmforu.admin.scheduler.crawling

import com.dmforu.crawling.parser.DietParser
import com.dmforu.domain.diet.DietWriter
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service

@Service
Expand All @@ -10,6 +12,9 @@ class DietCrawlingService(
private val dietWriter: DietWriter,
) {
fun updateToRecentDiet() {
val log: Logger = LoggerFactory.getLogger(DietCrawlingService::class.java)
log.info("식단 스크래핑 시작")
dietWriter.overwrite(dietParser.parse())
log.info("식단 스크래핑 종료")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package com.dmforu.admin.scheduler.crawling

import com.dmforu.crawling.parser.ScheduleParser
import com.dmforu.domain.schedule.ScheduleWriter
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Service
import java.time.LocalDate

Expand All @@ -11,6 +13,9 @@ class ScheduleCrawlingService(
private val scheduleWriter: ScheduleWriter,
) {
fun updateToRecentSchedule() {
val log: Logger = LoggerFactory.getLogger(DietCrawlingService::class.java)
log.info("학사 일정 스크래핑 시작")
scheduleWriter.overwrite(scheduleParser.parse(LocalDate.now().year))
log.info("학사 일정 스크래핑 종료")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.dmforu.crawling.loader.JsoupHtmlLoader
import com.dmforu.crawling.parser.UniversityNoticeParser
import com.dmforu.domain.notice.Notice
import com.dmforu.domain.notice.NoticeReader
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.ObjectProvider
import org.springframework.stereotype.Service

Expand All @@ -16,6 +18,8 @@ class UniversityNoticeCrawlingService(
) {

fun addRecentUniversityNotice() {
val log: Logger = LoggerFactory.getLogger(UniversityNoticeCrawlingService::class.java)
log.info("대학 스크래핑 시작")
val parser = UniversityNoticeParser(htmlLoader)
val maxNumber: Int? = noticeReader.findMaxNumberByType("대학")
val currentMaxNumber = maxNumber ?: 0
Expand All @@ -24,6 +28,7 @@ class UniversityNoticeCrawlingService(
val departmentNotices: List<Notice> = parser.parse()
val isNewNoticeFound = noticeService.saveNewNotices(departmentNotices, currentMaxNumber)
if (!isNewNoticeFound) {
log.info("대학 스크래핑 종료")
return
}
}
Expand Down
Loading