Laura Escarpins Evita05 Vita Noir Stock FemmeJulie KT1lFJc

Concepts de base du traitement asynchrone

Attention Trailblazer !

Salesforce offre deux types d’interface utilisateur pour ordinateur de bureau : Lightning Experience et Salesforce Classic. Ce module est conçu pour Salesforce Classic.

BlancheFx Chaussure 100 White Homme Fila Low Baskets Basses IYf7mb6gyv

Pour en savoir plus, reportez-vous aux rubriques d’aide basculement entre les interfaces et Activation de Lightning Experience, et suivez le module Concepts de base de Lightning Experience ici sur Trailhead.

Randonnée Rando Newton Plus Ridge Bottines De Chaussures Columbia TK5lFc1uJ3

Objectifs de formation

Une fois cette unité terminée, vous pourrez :
  • Expliquer la différence entre le traitement synchrone et asynchrone
  • Sélectionner le type d’Apex asynchrone à utiliser dans divers scénarios
Homme 80 Chez Pour Geox Limango Pas Jusqu'à Cher Outlet Chaussures LA34Rj5

Apex asynchrone

En résumé, un Apex asynchrone est utilisé pour exécuter des processus ultérieurement dans un thread séparé.

Un processus asynchrone est un processus ou une fonction qui exécute une tâche « en arrière-plan », ce qui évite à l’utilisateur d’attendre la fin de la tâche.

Prenons un exemple réel. Supposons que vous avez une liste de tâches à faire avant votre cours de danse. Votre voiture fait un bruit inhabituel, vous avez besoin d’un gel pour cheveux d’une autre couleur et vous devez récupérer votre uniforme chez vos parents. Vous pouvez emmener votre voiture au garage et attendre qu’elle soit réparée avant d’accomplir les autres tâches de votre liste (traitement synchrone), ou laisser la voiture au garage et vous occuper des autres tâches après avoir demandé au mécanicien de vous appeler lorsque la voiture est prête (traitement asynchrone). Si vous voulez être à la maison à temps pour repasser votre justaucorps avant le cours de danse, le traitement asynchrone permet de gérer plus de tâches dans la même période sans attendre.

Généralement, vous utilisez un Apex asynchrone pour des appels à des systèmes externes, des opérations qui nécessitent des limitations supérieures, et un code qui doit être exécuté à un moment donné. Les principaux avantages du traitement asynchrone comprennent :

Efficacité de l’utilisateurYy2sjf6f9 Katala Baskets Femme Chaussures Kaporal Doré Noir zjLSMGqUpV

Supposons qu’un processus effectue de nombreux calculs sur un objet personnalisé dès qu’une opportunité est créée. Le délai nécessaire pour exécuter ces calculs peut retarder légèrement l’utilisateur ou bloquer totalement sa productivité selon leur importance. Puisque ces calculs n’affectent pas d’autres tâches, demander à l’utilisateur d’attendre la fin d’un long processus n’est pas efficace en termes de gestion du temps. Avec le traitement asynchrone, l’utilisateur peut continuer son travail pendant que le processus est exécuté en arrière-plan, et consulter les résultats quand il le souhaite.

Adaptabilité

Autoriser l’exécution de certaines fonctionnalités de la plate-forme plus tard, lorsque les ressources sont disponibles, permet de gérer et d’ajuster rapidement les ressources. La plate-forme peut ainsi gérer davantage de tâches à l’aide d’un traitement parallèle.

Limitations supérieures
Green Grey Adidas 85759 Gum Superstar Collegiate Homme Two 3 MUzqVSpLG

Les processus asynchrones sont démarrés dans un nouveau thread, avec des limitations du gouverneur et d’exécution supérieures. Qui ne souhaite pas augmenter les limitations du gouverneur et d’exécution ?

Leather Asics Vickka Purple Shoes Men's Gel Tiger Trs Trainers Rose TZPkOXiu

Il existe plusieurs types d’Apex asynchrone. Nous les présenterons en détail plus loin. En attendant, voici un résumé.

Basket Zip Cher Homme Avec Chaussure Pas WHD2IeE9YBasket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y
Type Résumé Scénarios courantsBasket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y
Méthode futures Exécutées dans leur propre thread et ne commencent pas tant que les ressources ne sont pas disponibles. Appel externe de service Web.
Batch Apex Exécute les tâches volumineuses qui dépasseraient les limites de traitement normales. Nettoyage de données ou archivage d’enregistrements.
Queueable Apex Semblable aux méthodes futures, mais offre un chaînage de tâches supplémentaire et permet d’utiliser des types de données plus complexes. Exécution d’opérations de traitement séquentielles avec des services Web externes.
Apex planifié Apex dont l’exécution est planifiée à une heure spécifique. Tâches quotidiennes ou hebdomadaires.

Notez également que ces différents types d’opération asynchrone ne sont pas mutuellement exclusives. Par exemple, un modèle courant consiste à lancer une tâche Apex par lot à partir d’une tâche Apex planifiée.

V6 Balance 1080 New De Running Chaussures 8Ok0Pnw
Noir Palladium Chaussures 84 Us Homme71866b53noir€49 Oxford v8OynmNw0

Augmentation des limitations du gouverneur et d’exécution

L’un des principaux avantages de l’exécution d’un Apex asynchrone est la possibilité d’augmenter les limitations du gouverneur et d’exécution. Par exemple, le nombre de requêtes SOQL est doublé. Il passe de 100 à 200 lors de l’utilisation d’appels asynchrones. La taille de segment totale et le temps processeur maximal sont également supérieurs pour les appels asynchrones.

Non seulement vous bénéficiez de limitations supérieures avec une exécution asynchrone, mais ces limitations du gouverneur sont indépendantes des limitations de la requête synchrone qui a initialement mis en file d’attente la requête asynchrone. Cette expression est un peu complexe. Pour résumer, vous avez deux invocations Apex séparées et plus du double en capacité de traitement, ce qui est très pratique. Par exemple, si vous souhaitez effectuer autant de traitement que possible dans une transaction, lorsque vous approchez des limitations du gouverneur, vous pouvez continuer de façon asynchrone.

Pour en savoir plus sur la taille des segments, les temps d’exécution maximum et les limitations globales, consultez la rubrique

Execution Governors and Limits.

Fonctionnement du traitement asynchrone

Basket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y

Dans un environnement mutualisé, le traitement asynchrone présente quelques défis :

Garantir l’égalité de traitement

Assurez-vous que le client reçoit une part équitable des ressources de traitement.Burton Snowboard Chloe Women's Co Op Boots 20122013Rei 8n0kwOXP

Garantir la tolérance aux pannes

Assurez-vous qu’aucune requête asynchrone n’est perdue en raison d’échecs matériels ou logiciels.

La plate-forme utilise une infrastructure de traitement asynchrone basée sur une file d’attente. Cette infrastructure est utilisée pour gérer les requêtes asynchrones de plusieurs organisations au sein de chaque instance. Le cycle de vie des requêtes est composé de trois parties :

Mise en file d’attente
Dwulgj2odocd9dm9Chaussures Sneakersamp; Dwulgj2odocd9dm9Chaussures Happiness Tennis Happiness Sneakersamp; Tennis HW2DE9I

La requête est placée dans la file d’attente. Elle peut correspondre à une requête Apex par lot, une requête Apex future ou à beaucoup d’autres. La plate-forme met les requêtes en file d’attente avec les données appropriées pour les traiter.

Persistance
Basket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y

Les requêtes en file d’attente sont persistantes. Les requêtes sont stockées dans un stockage persistant pour la reprise après sinistre et pour fournir des capacités transactionnelles.

Retrait de la file d’attente

Les requêtes sont retirées de la file d’attente et traitées. La gestion des transactions est exécutée à cette étape pour s’assurer que les messages ne sont pas perdus en cas d’échec de traitement.

Chaque requête est traitée par un gestionnaire. Le gestionnaire est le code qui exécute des fonctions pour un type de requête spécifique. Les gestionnaires sont exécutés par un nombre fini de threads de travail dans chaque serveur d’applications qui forme une instance. Les threads demandent le travail à l’infrastructure de mise en file d’attente. Lorsqu’ils le reçoivent, ils démarrent un gestionnaire spécifique pour exécuter le travail.

P710652 Caterpillar Colorado Bottes Courtes Homme beige roCBxhQtsd

Conservation des ressources

La priorité du traitement asynchrone est inférieure à une interaction en temps réel via le navigateur et l’API. Pour s’assurer que les ressources sont suffisantes pour gérer une augmentation des ressources de calcul, l’infrastructure de mise en file d’attente surveille les ressources du système, notamment la mémoire du serveur et l’utilisation du processeur, et réduit le traitement asynchrone lorsque les seuils maximum sont atteints. En d’autres termes, le système mutualisé se protège lui-même. Si une organisation tente de mobiliser davantage que sa part de ressources, le traitement asynchrone est suspendu jusqu’à ce qu’un niveau normal soit restauré. Pour résumer, le temps de traitement n’est pas garanti, mais il est correctement géré.

Basket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y
Basket Zip Cher Homme Avec Chaussure Pas WHD2IeE9Y