quartz periodicity example engine app java cron

periodicity - quartz java



Cómo crear un trabajo cron de Java (3)

Esta pregunta es un duplicado exacto de:

Estoy escribiendo una aplicación Java de lote independiente para leer datos de YouTube. Quiero configurar un trabajo cron para hacer cierto trabajo cada hora.

Busqué y encontré formas de hacer un trabajo cron para operaciones básicas pero no para una aplicación Java.


Primero recomendaría que siempre remita docs antes de comenzar algo nuevo.

Tenemos SchedulerFactory que programa el trabajo según la expresión cronológica que se le ha dado.

//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"); } }


Puedes usar TimerTask para 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"); } }

Alternativa También puede utilizar ScheduledExecutorService .


Si está utilizando Unix, primero debe escribir un shellscript para ejecutar su lote Java.

Después de eso, en unix, ejecuta este comando " crontab -e " para editar el script crontab. Para configurar crontab, consulte este artículo http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

Guarda tu configuración de crontab. Luego espere a que llegue el momento, el programa se ejecutará automáticamente.