Límites del gobernador en Salesforce; Significado, tipos y como manejarlos

Markting

¿Cuáles son los límites del gobernador en Salesforce?

En esta publicación, veremos el significado y los tipos de límites reguladores en Salesforce. Aquí también le mostraremos cómo administrar los límites reguladores en Salesforce.

Salesforce es una solución de gestión de relaciones con los clientes (CRM) que une a empresas y clientes. Customer Relationship Management, CRM, es un software que rastrea cada interacción entre los clientes actuales y futuros. Permite a las empresas gestionar las relaciones y los datos asociados. El software Salesforce es esa plataforma integrada que ofrece a todas sus empresas, como Marketing, Ventas, Comercio, Servicios, etc., una única vista compartida de cada cliente.

En la funcionalidad CRM de Salesforce.com, hay una plataforma de desarrollo que permite a los desarrolladores acceder a la base de datos backend y la interfaz cliente-servidor de Salesforce.com para crear aplicaciones de software como servicio (SaaS) de terceros. Esta plataforma, Apex, es un lenguaje patentado que permite que las declaraciones de control de flujo y transacciones se ejecuten en el servidor de la plataforma Salesforce.com. Una transacción es un conjunto de actividades que se pueden realizar como una sola unidad; podría ser una clase o un disparador.

Lea también: Revisión del préstamo comercial de PayPal; Cómo funciona, elegibilidad, beneficios, tasas de interés, cómo solicitarlo

Qué es ¿Límites del gobernador en Salesforce?

La plataforma Salesforce es un entorno de múltiples inquilinos, lo que significa que todos sus usuarios comparten los mismos recursos, infraestructura y versión de la plataforma. Teniendo en cuenta que Apex se ejecuta en un entorno de múltiples inquilinos, existen límites que se aplican estrictamente para garantizar que los códigos y procesos no abusen o monopolicen los recursos compartidos. Los límites del gobernador en la administración de Salesforce están predefinidos y, si por casualidad un código excede los límites de ejecución, se lanza una excepción de tiempo de ejecución que no se puede manejar.

Tipos de límites reguladores en la fuerza de ventas

Los diversos tipos de estos límites de API del gobernador de Salesforce incluyen,

  • Límites de Apex por transacción
  • Límites de paquetes gestionados certificados por transacción
  • Límites del vértice de la plataforma Lightning
  • Límites del ápice estático
  • Límites de vértice específicos por tamaño
  • Varios límites de vértice

Otros incluyen límites de notificaciones push y límites de correo electrónico.

Límites de Apex por transacción

Este es un ejemplo de límites de llamadas de Salesforce. Estos límites cuentan para cada transacción de Apex. El número máximo de consultas de Lenguaje de consulta de objetos de Salesforce (SOQL) que se pueden ejecutar por transacción es 100. El número máximo de registros en un trato que se puede ejecutar Lenguaje de manipulación de datos (DML) es 10,000. La cantidad máxima de operaciones DML por transacción es 150. Estos son los límites más comunes que encuentran los desarrolladores cuando usan Salesforce.

Límites de paquetes gestionados certificados por transacción

Estos son los límites por transacción para paquetes gestionados certificados desarrollados por socios ISV de Salesforce instalados por AppExchange con espacios de nombres únicos. Este es un ejemplo de una clase de límite en Salesforce. No hay límite para la cantidad de espacios de nombres certificados que se pueden invocar en una sola transacción.

Sin embargo, la cantidad de operaciones realizadas en cada espacio de nombres no debe exceder el límite por transacción. El límite acumulativo de 9n operaciones que se pueden realizar entre espacios de nombres en una transacción es 11 veces el límite por espacio de nombres. Entonces, si un límite de espacio de nombres para la consulta SOQL es 100, una sola transacción puede ejecutar hasta 1,100 consultas SOQL.

El límite acumulativo no afecta los límites compartidos entre espacios de nombres, como el límite de tiempo máximo de CPU, el tamaño total del montón, el tiempo máximo de ejecución de transacciones y el número máximo de espacios de nombres únicos. Todas estas excepciones cuentan para toda la transacción y no afectan la cantidad de paquetes certificados que se ejecutan en la misma transacción.

Lea también: Cómo encontrar el número de pasaporte en Estados Unidos, Brasil, India, México, Canadá, Reino Unido

Límites del vértice de la plataforma Lightning

Estos no son específicos de una transacción de Apex y son aplicados por la plataforma Lightning. Este límite es para toda la organización y se aplica a todas las pruebas que se ejecutan de forma asincrónica. Se comparte con todos los Apex asincrónicos: métodos planificados y futuros por lotes, en cola y Apex.

Límites de correo electrónico

Hay límites de correo electrónico entrante y también límites de correo electrónico saliente. Para el correo entrante, existen límites en la cantidad máxima de correos electrónicos procesados, el tamaño máximo de un mensaje de correo electrónico, el tamaño máximo de los archivos adjuntos de correo electrónico, etc. El tamaño máximo de los mensajes de correo electrónico para los servicios de correo electrónico varía según el idioma y el juego de caracteres.

Para los correos electrónicos salientes, existen límites para los correos electrónicos individuales y masivos enviados a través de Apex.

Límites de notificaciones push

La cantidad máxima de notificaciones push permitidas para cada aplicación móvil asociada con su organización de Salesforce depende del tipo de aplicación. Solo las notificaciones de entrega cuentan para este límite. Cada notificación de inserción de prueba generada a través de la página Notificación de inserción de prueba está limitada a un solo destinatario. Las notificaciones push de prueba cuentan para el límite diario de notificaciones push de una aplicación.

Para obtener más información sobre estos límites y otros tipos, visite https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_gov_limits.htm

Cómo administrar los límites del gobernador en Salesforce

Como desarrollador, es importante asegurarse de que el código que escribe sea escalable y no alcance los límites del gobernador. A continuación, se muestran algunas prácticas para evitar superar estos límites al escribir códigos.

  1. Bulkify tu codigo.

Esto simplemente significa cuando se combinan tareas repetitivas en Apex. Es la forma más importante de evitar llegar a los límites del gobernador. Asegúrese de que su código maneje más de un registro correctamente a la vez.

  1. Evite escribir declaraciones DML y consultas SOQL en el bucle FOR.

Colocar consultas o declaraciones DML en un bucle FOR es un error muy común. Existe un límite regulador que impone un número máximo de consultas SOQL; hay otro que impone el número máximo de declaraciones DML. Cuando se colocan en un bucle FOR, hace que alcancen sus límites cuando las operaciones de la base de datos se invocan una vez por iteración del bucle.

Para evitarlos, mueva todas las operaciones de la base de datos fuera del bucle FOR. Si se necesita una consulta, hágalo una vez. Obtenga todos los datos que necesita en esa única consulta y repita los resultados. Si se necesita un cambio, agrupe los datos en una lista y llame a su DML en esa lista de datos.

  1. Bulkify sus métodos de apoyo.

Asegúrese de que cualquier código que ejecute una consulta u operación DML lo ejecute de forma masiva y no se ejecute dentro de un bucle FOR. La ejecución de consultas o declaraciones DML dentro de una iteración conlleva el riesgo de exceder los límites del regulador. Esto también se aplica a cualquier método auxiliar realizado por una solicitud de Apex.

  1. Evite Process Builder

La herramienta Process Builder es una excelente herramienta declarativa para organizaciones que no ejecutan Advanced Apex. No está cancelado, por lo que no se escala bien.

  1. Intenta almacenar en caché

Puede usar variables estáticas cuando sabe que es poco probable que sus datos cambien si y / o cuándo, o puede intentar usar la memoria caché de la plataforma.

  1. Simplifique varios disparadores en el mismo objeto.
  2. Consultar grandes conjuntos de datos.
  3. Utilice los métodos de Límites de Apex para evitar llegar a los límites del gobernador.
  4. Use @Future de manera adecuada (ayuda a evitar los errores de límite del regulador).

Para obtener más información sobre la gestión de los límites del gobernador, visite https://developer.salesforce.com/page/Apex_Code_Best_Practies

Deja una respuesta