package eu.openaire.urls_worker.components; import eu.openaire.urls_worker.plugins.publicationsRetriever.PublicationsRetrieverPlugin; import eu.openaire.urls_worker.util.AssignmentHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; import java.util.Date; @Component public class ScheduledTasks { private static final Logger logger = LoggerFactory.getLogger(ScheduledTasks.class); private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 600_000) // Every 10 mins: 600_000 public void reportCurrentTime() { logger.info("Server is live! Time is now {}", dateFormat.format(new Date())); } @Scheduled(fixedRate = 1800_000) // Every 30 mins: 1800_000 public void handleAssignment() { if ( AssignmentHandler.isAvailableForWork ) AssignmentHandler.handleAssignment(); } //@Scheduled(fixedRate = 20_000) // Every 20 secs. public void testUrlConnection() { String urlToCheck = "https://zenodo.org/record/1145726"; PublicationsRetrieverPlugin.connectWithUrlTest(urlToCheck); } }