← Salesforce Platform Developer: Apex e Lightning
04 / 8 · 40 MIN

Triggers, limites e processamento assíncrono

Processar coleções e recuperar falhas respeitando fases e fronteiras transacionais.

Conceito e mecanismo

Apex partilha recursos numa plataforma multitenant. Limites relevantes pertencem ao contexto de execução; mover uma consulta para um helper não cria uma quota nova. Um desenho bulk recolhe identificadores, consulta conjuntos, indexa resultados e acumula DML. O contexto before permite alterar os próprios registos antes de guardar; em after, os registos do contexto são read-only. Escolher a fase pela necessidade, sem repetir o save desnecessariamente. Para efeitos associados a uma transição, comparar estado anterior e novo. Um booleano global que impede toda a execução posterior pode omitir trabalho legítimo e não substitui uma condição de negócio bem definida nem um desenho idempotente.

Aplicação guiada

Separar trabalho assíncrono também muda a forma de comunicar estado e recuperar. Enqueue de Queueable devolve um identificador para acompanhamento; não demonstra que os indicadores foram calculados. Batch Apex executa chunks em transações separadas e não garante a ordem necessária para dependências implícitas. Uma falha num execute não desfaz automaticamente chunks concluídos. Antes de repetir, reconciliar efeitos e identificar inputs pendentes. System.LimitException não é recuperável com um catch normal: corrigir o padrão de consumo e testar volumes representativos. Nos exemplos deste percurso, estas decisões são analisadas conceptualmente; os testes locais não executam Apex numa organização Salesforce nem demonstram limites reais de uma instância.

NA PRÁTICA

Uma importação passa com um pedido e falha com 200 porque consulta uma regra em cada iteração. Consultar as regras em conjunto e usar DML em coleção trata a causa. Uma nova classe com o mesmo loop manteria o consumo.

Armadilhas comuns

Catch como recuperação de limite; after como contexto editável; job ID como sucesso; Batch como uma única transação; repetição sem reconciliar efeitos.

Tópicos relacionados: Modelo de dados, identidade e metadados · Coleções e escolha entre configuração e código · Consultas, DML e resultados de erro

Leva esta ideia contigo

Projetar para conjuntos, explicitar transições e acompanhar resultados por fronteira transacional. Submissão assíncrona não é conclusão.

Criar conta

Referência: Bulk Apex Triggers · Platform Developer guide Summer 25

Salesforce é uma marca comercial de Salesforce, Inc. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por Salesforce. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.