package qa.qcri.aidr.trainer.pybossa.controller; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import qa.qcri.aidr.trainer.pybossa.service.ClientAppCreateWorker; import qa.qcri.aidr.trainer.pybossa.service.ClientAppRunWorker; import qa.qcri.aidr.trainer.pybossa.service.MicroMapperWorker; import qa.qcri.aidr.trainer.pybossa.service.Worker; import qa.qcri.aidr.trainer.pybossa.store.LookupCode; import java.util.Calendar; import java.util.Date; /** * A synchronous worker */ @Component("syncWorker") public class SyncWorker implements Worker { protected static Logger logger = Logger.getLogger(SyncWorker.class); @Autowired ClientAppCreateWorker pybossaWorker; @Autowired private ClientAppRunWorker clientAppRunWorker; @Autowired private MicroMapperWorker microMapperWorker; public void work() { String threadName = "aidr_trainer_pyboss_" + Thread.currentThread().getName(); Calendar cal = Calendar.getInstance(); System.out.println("************************************ Scheduler is starting : " + threadName + " - " + new Date()); try { microMapperWorker.processTaskExport(); clientAppRunWorker.processTaskRunImport(); clientAppRunWorker.processTaskPublish(); pybossaWorker.doCreateApp(); int hour = cal.get(Calendar.HOUR_OF_DAY) ; if(hour == LookupCode.CLIENT_APP_DELETION_TIME){ pybossaWorker.doAppDelete(); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.out.println("InterruptedException : " + e.getMessage()); } catch (Exception e) { System.out.println("Exception : " + e.getMessage()); } System.out.println("************************************ Scheduler is going sleep : " + new Date()); } }