26 de abril de 2021

Preguntas de la entrevista de nivel intermedio a avanzado sobre Apex programable

[contenido incrustado]

P. ¿Explica el código para programar Apex por lotes para que se ejecute a intervalos regulares?

P. ¿Qué es System. Calendario ?

Una vez que haya implementado la interfaz programable, use el método system.schedulable para ejecutar la clase.

El método system.schedule () toma 3 parámetros:
1. Nombre del trabajo
2. Una expresión que se usa para representar la hora y la fecha de la operación.
3. El objeto de la clase que desea ejecutar.

Una expresión se escribe en forma de 'Segundos, minutos, horas, día del mes, día del mes de la semana, año opcional'.

'Segundos': 0-60
'Min': 0-60
'Horas': 0-24
'Días-Meses': 1-31
'Mes': 1-12
'Día-Semana': 1-7
'Año opcional': –

P. ¿Qué es el tipo de devolución de system.schedule?

El método System.schedule devuelve el ID del trabajo en formato de cadena.

P. ¿Explique cómo utilizar System.schedule?

P. ¿Escribe una expresión para programar una operación el martes de enero a las 12:30?
'0 30 12? 1 MARTES
'0 30 12? 1 3 '
'Segundos': 0
'Min': 30
'Horas': 12
'Días-Meses':?
'Mes': 1
'Día-Semana': 3
'Año opcional': –
P. Escriba la expresión para programar una operación todos los días del SEP a las 12:30 PM.
'0 30 12 * SEP?'
'0 30 12 * 9?'
'Segundos': 0
'Min': 30
'Horas': 12
'Días-Meses': *
'Mes': 9
'Día-Semana':?
'Año opcional': –
Q. Expresión para programar cada hora el 11 de SEP.
'0 30 * 11 9?'
'Segundos': 0
'Min': 30
'Horas' : *
'Días-Meses': 11
'Mes': 9
'Día-Semana':?
'Año opcional': –

P. Desea programar un trabajo por lotes de una sola vez y no de nuevo. ¿Cómo hacerlo?

System.scheduleBatch () se usa para ejecutar una programación de un trabajo por lotes solo una vez para un tiempo futuro. Este método tiene 3 parámetros.

parámetro 1: instancia de una clase que implementa la interfaz Database.Batchable.
param 2: Nombre del trabajo.
parámetro 3: intervalo de tiempo después del cual el trabajo debe comenzar a ejecutarse.
param 4: Es un parámetro opcional que definirá el no. de eso procesado a la vez. System.scheduleBatch () devuelve el ID del trabajo programado.
Podemos usar la identificación del trabajo para cancelar el trabajo.

Este método devuelve el ID de trabajo programado, también llamado ID de CronTrigger .

Este método está disponible solo para clases por lotes y no requiere la implementación de la interfaz Programable. Esto facilita la programación de un trabajo por lotes para una ejecución.

P. ¿Cómo obtener el recuento de trabajos programados de Apex mediante programación?

Puede consultar mediante programación los objetos CronTrigger y CronJobDetail para obtener el recuento de trabajos programados de Apex.

P. Si hay uno o más trabajos programados activos para una clase de Apex, ¿puede actualizar la clase o cualquier clase a la que se hace referencia en la interfaz de usuario de Salesforce?

Si hay uno o más trabajos programados activos para una clase de Apex, no puede actualizar la clase ni ninguna de las clases a las que hace referencia esta clase a través de la interfaz de usuario de Salesforce. Sin embargo, puede habilitar implementaciones para actualizar la clase con trabajos programados activos mediante la API de metadatos.

P. ¿Apex Scheduler se ejecuta en modo de sistema?

El planificador se ejecuta como sistema: todas las clases se ejecutan, tenga o no el usuario permiso para ejecutar la clase.

P. ¿Cómo llamar a Apex por lotes desde una clase programable?

Cree una instancia de batchClass y luego pase la instancia en database.executebatch

Una forma más sencilla de programar un trabajo por lotes es llamar al método System.scheduleBatch sin tener que implementar la interfaz Programable.

P. ¿Cómo obtener el nombre del trabajo y el tipo de trabajo para los trabajos programados?

Puede obtener el nombre del trabajo y el tipo de trabajo del registro CronJobDetail asociado con el registro CronTrigger.

P. La llamada no es compatible con Apex programado, entonces, ¿cuál es la alternativa?

Las llamadas de servicios web síncronos no son compatibles con Apex programado. Para poder hacer llamadas, realice una llamada asincrónica colocando la llamada en un método anotado con @future (callout = true) y llame a este método desde Apex programado. Sin embargo, si su Apex programado ejecuta un trabajo por lotes, las llamadas son compatibles con la clase por lotes.

P. ¿Cuáles son las limitaciones de Apex programado?

1. Podemos programar solo 100 trabajos a la vez.
2. Max no. El número de trabajos programados de ápice en 24 horas es de 2,50 000 número de trabajos (puede cambiar con las actualizaciones de Salesforce).
3. Las llamadas de servicios web síncronos no son compatibles con Apex programable.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://www.sfdcamplified.com/2021/01/intermediate-to-advance-level-interview-questions-on-schedulable-apex.html#utm_source=rss&utm_medium=rss&utm_campaign=intermediate-to-advance-level-interview-questions-on-schedulable-apex



EGA Futura https://bit.ly/3dSqIbd