如何创建Java cron作业

use*_*111 32 java cron

我正在编写一个独立的批量Java应用程序来从YouTube读取数据.我想建立一个cron工作,每小时做一些工作.

我搜索并找到了为基本操作而不是Java应用程序执行cron作业的方法.

Ind*_*ith 40

你可以使用TimerTask for 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);
   }

}
Run Code Online (Sandbox Code Playgroud)

MyTask.java

class MyTask extends TimerTask{

   public MyTask(){
     //Some stuffs
   }

   @Override
   public void run() {
     System.out.println("Hi see you after 10 seconds");
   }

}
Run Code Online (Sandbox Code Playgroud)

备选 您还可以使用ScheduledExecutorService.


Sho*_*ate 6

首先,我建议你在开始新事物之前总是参考文档.

我们SchedulerFactory根据给出的Cron表达式调度Job.

    //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();
Run Code Online (Sandbox Code Playgroud)

MyJob.class

public class MyJob implements Job{

      @Override
      public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
                 System.out.println("My Logic");
        }

    }
Run Code Online (Sandbox Code Playgroud)

  • 你的'docs'指的是第三方库...... OP正在询问设置cron作业以启动java程序.你似乎在代码中设置了一份工作. (7认同)

小智 2

如果您使用的是unix,则需要先编写一个shell脚本来运行java批处理。

之后,在unix中,运行此命令“ crontab -e”来编辑crontab脚本。为了配置crontab,请参考这篇文章http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

保存您的 crontab 设置。然后等待时间到,程序就会自动运行。