Я пишу автономное пакетное приложение Java для чтения данных с YouTube. Я хочу настроить работу cron для выполнения определенной работы каждый час.
Я ищу и нашел способы выполнить задание cron для основных операций, но не для приложения Java.
Я пишу автономное пакетное приложение Java для чтения данных с YouTube. Я хочу настроить работу cron для выполнения определенной работы каждый час.
Я ищу и нашел способы выполнить задание cron для основных операций, но не для приложения Java.
Вы можете использовать TimerTask для Cronjobs.
Main.java
public class Main{
public static void main(String[] args){
Timer t = new Timer();
MyTask mTask = new MyTask();
// This task is scheduled to run every 10 seconds
t.scheduleAtFixedRate(mTask, 0, 10000);
}
}
MyTask.java
class MyTask extends TimerTask{
public MyTask(){
//Some stuffs
}
@Override
public void run() {
System.out.println("Hi see you after 10 seconds");
}
}
Alternative Вы также можете использовать ScheduledExecutorService.
Сначала я бы рекомендовал вам всегда ссылаться docs, прежде чем начинать новую вещь.
У нас есть SchedulerFactory
, который назначает Job на основании выраженного Cron выражения.
//Create instance of factory
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
//Get schedular
Scheduler scheduler= schedulerFactory.getScheduler();
//Create JobDetail object specifying which Job you want to execute
JobDetail jobDetail=new JobDetail("myJobClass","myJob1",MyJob.class);
//Associate Trigger to the Job
CronTrigger trigger=new CronTrigger("cronTrigger","myJob1","0 0/1 * * * ?");
//Pass JobDetail and trigger dependencies to schedular
scheduler.scheduleJob(jobDetail,trigger);
//Start schedular
scheduler.start();
MyJob.class
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("My Logic");
}
}
Если вы используете unix, вам нужно написать shellscript, чтобы сначала запустить java-пакет.
После этого в unix вы запустите эту команду "crontab -e
" для редактирования crontab script.
Чтобы настроить crontab, обратитесь к этой статье http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
Сохраните настройку crontab. Затем подождите, когда придет время, программа запустится автоматически.