viernes, 4 de abril de 2014

Ejecutar procesos periodicamente o con fecha predeterminada con Scheduler

Cierto procesos requieren de una ejecución periódica, cálculos internos, etc. Procesos automáticos que se ejecutan a la hora/día determinado.

Para llevar esto acabo utilizaremos la clase Scheduler.

La ejecución se realizará en la fecha indicada, pero como sucede con la clase Batch esta sera añadida a la cola de procesos a resolverse, con lo que puede que no se ejecute al instante.

Clase Scheduler con su correspondiente interfaz Schedulable:
global class scheduledDaily implements Schedulable {
   global void execute(SchedulableContext SC) {
      //Llamada o ejecución del código...
   }
}

Realizamos la llamada, indicando el nombre del proceso, la fecha y la clase schedule:
public static String cron_date = '0 30 12 * * ?'; //Ejecución diaria 12:30
scheduledDaily sd = new scheduledDaily();
System.schedule('Proceso diario', cron_date, sd );

Podemos ver el proceso en ejecución en Setup>Jobs>Scheluded Jobs

Los siete campos a definir en cron_date:
  • Segundos [0-59]
  • Minutos [0-59]
  • Horas [0-23]
  • Dia [1-31]
  • Mes [1-12 or JAN-DEC]
  • Dia de la semana [1-7 or SUN-SAT]
  • Año [1970-2099]

Advertencia:
  • Solo pueden estar en ejecución 100 procesos de este tipo.
  • No se puede utilizar getContent o getContentAsPDFPageReference

Salesforce Oficial:  Scheduler

Este post pertenece a KaizenStep, el partner preferente de Salesforce en Barcelona. Puedes encontrar información de nuestros servicios en nuestrweb o si quieres leer posts de funcionalidades y negocio, puedes consultar nuestro blog de empresa. Si quieres puedes leer más en nuestro blog Salesforce en Español.


No hay comentarios:

Publicar un comentario