YouTubeからデータを読み取るためのスタンドアロンバッチJavaアプリケーションを作成しています。 1時間ごとに特定のジョブを実行するcronジョブをセットアップしたい。
Javaアプリケーションではなく、基本的な操作のためにcronジョブを実行する方法を検索しました。
CronjobsにはTimerTaskを使用できます。
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");
}
}
AlternativeScheduledExecutorService も使用できます。
まず、新しいことを始める前に、常に docs を参照することをお勧めします。
与えられたCron Expressionに基づいてJobをスケジュールするSchedulerFactory
があります。
//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を使用している場合は、最初にJavaバッチを実行するシェルスクリプトを作成する必要があります。
その後、UNIXでこのコマンド「crontab -e
」を実行して、crontabスクリプトを編集します。 crontabを設定するには、この記事を参照してください http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
Crontab設定を保存します。その後、来る時間を待つと、プログラムが自動的に実行されます。