package ru.ulstu.grant.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import java.io.IOException; import java.text.ParseException; @Service public class GrantScheduler { private final static boolean IS_DEADLINE_NOTIFICATION_BEFORE_WEEK = true; private final Logger log = LoggerFactory.getLogger(GrantScheduler.class); private final GrantNotificationService grantNotificationService; private final GrantService grantService; public GrantScheduler(GrantNotificationService grantNotificationService, GrantService grantService) { this.grantNotificationService = grantNotificationService; this.grantService = grantService; } @Scheduled(cron = "0 0 8 * * MON", zone = "Europe/Samara") public void checkDeadlineBeforeWeek() { log.debug("GrantScheduler.checkDeadlineBeforeWeek started"); grantNotificationService.sendDeadlineNotifications(grantService.findAll(), IS_DEADLINE_NOTIFICATION_BEFORE_WEEK); log.debug("GrantScheduler.checkDeadlineBeforeWeek finished"); } @Scheduled(cron = "0 0 8 * * ?", zone = "Europe/Samara") public void loadGrantsFromKias() { log.debug("GrantScheduler.loadGrantsFromKias started"); try { grantService.createFromKias(); } catch (ParseException | IOException e) { e.printStackTrace(); } log.debug("GrantScheduler.loadGrantsFromKias finished"); } }