b97f81d1e8eb54036b4b128aa01d6c507e733b1f
[mediacube.git] /
1 package hu.user.mcvodsync.service.schedule;
2
3 import hu.user.mcvodsync.service.event.ExportCompletedEvent;
4 import hu.user.mcvodsync.service.out.AssetExportService;
5 import lombok.SneakyThrows;
6 import lombok.extern.log4j.Log4j2;
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.context.ApplicationEventPublisher;
9 import org.springframework.stereotype.Component;
10
11 @Log4j2
12 @Component
13 public class ScheduledExport implements Runnable {
14     @Autowired
15     private ApplicationEventPublisher applicationEventPublisher;
16     
17     @Autowired
18     private AssetExportService assetExportService;
19
20     @SneakyThrows
21     @Override
22     public void run() {
23         try {
24             log.info("ScheduledExport started");
25             assetExportService.export();
26         } catch (Exception e) {
27             log.error("ScheduledExport error!", e);
28         } finally {
29             applicationEventPublisher.publishEvent(new ExportCompletedEvent(null, this));
30             log.info("ScheduledImport finished");
31         }
32     }
33
34 }