Traitement au premier plan et en arrière-plan

Vous pouvez choisir d'exécuter les outils au premier plan ou en arrière-plan en cliquant sur Géotraitement > Options de géotraitement dans la barre d'outils Standard.

Le volet Traitement en arrière-plan vous permet de spécifier si un outil s'exécute au premier plan ou en arrière-plan.

Traitement en arrière-plan

Lorsque vous exécutez un outil à l'aide de sa boîte de dialogue ou dans la fenêtre Python, la progression de l'outil apparaît comme illustré ci-dessous.

Barre de progression de traitement en arrière-plan et notification

Vous pouvez également suivre cette progression dans la fenêtre Résultats. Si vous cliquez sur le message contextuel, la fenêtre Résultats affiche directement les messages d'exécution de l'outil.

L'exécution d'un outil en arrière-plan vous permet de lancer d'autres outils à l'aide de la boîte de dialogue de l'outil. Un seul outil s'exécutera en arrière-plan ; tous les autres outils seront mis en attente d'exécution. Dès qu'un outil a fini de s'exécuter, l'exécution de l'outil suivant démarre.

Vous ne pourrez pas démarrer une session de mise à jour si des outils sont exécutés en arrière-plan. Dans ce cas, un message vous informe que la session de mise à jour ne peut pas être démarrée. Vous devez permettre la fin de l'exécution de tous les outils de géotraitement en arrière-plan (ou les annuler) avant de démarrer une session de mise à jour.

Avec le traitement en arrière-plan, lorsque vous exécutez un outil dans la fenêtre Python, la fenêtre Python ne peut pas être utilisée tant que l'exécution de cet outil n'est pas terminée.

Les outils de modèle ou de script personnalisés sont exécutés par défaut au premier plan

Vos outils de modèle ou de script personnalisés s'exécuteront par défaut au premier plan, même si vous avez activé le traitement en arrière-plan. Pour permettre à vos outils personnalisés de s'exécuter en arrière-plan, vous devez effectuer deux opérations :

  1. Assurez-vous que votre outil respecte les principes spécifiés à la rubrique Exécution d'outils personnalisés (de modèle ou de script) en arrière-plan.
  2. Cliquez avec le bouton droit sur votre modèle ou outil de script personnalisé, puis cliquez sur Propriétés. Sous l'onglet Général, désactivez l'option Toujours exécuter au premier plan.

Les couches ArcMap affectées sont verrouillées lorsqu'un outil est exécuté en arrière-plan

Lorsque la sortie d'un outil de géotraitement est une couche de la carte (comme c'est le cas avec l'outil Sélectionner une couche par attribut) ou que l'outil modifie les données en entrée (comme c'est le cas avec l'outil Ajouter un champ ou n'importe quel outil de la boîte à outils Mise à jour), la couche est verrouillée pendant l'exécution de l'outil. Une icône de verrou apparaît sur la couche dans les tables des matières pour indiquer qu'elle est verrouillée pour le traitement. Si vous actualisez la carte lorsqu'une couche est verrouillée, celle-ci ne s'affichera pas. Une fois le traitement de l'outil terminé, la carte est actualisée et vous pouvez continuer à modifier la couche.

Annulation d'un outil exécuté en arrière-plan

Pour annuler l'exécution d'un outil en arrière-plan, ouvrez la fenêtre Résultats et recherchez l'outil exécuté (comporte une icône en forme de sablier ou d'horloge). Cliquez avec le bouton droit sur le résultat, puis cliquez sur Annuler. Cette méthode permet également d'annuler des tâches en file d'attente et pas encore exécutées.

Lorsqu'un outil reçoit l'instruction d'annulation, il essaie d'effectuer un nettoyage à la fin de son exécution, en supprimant toutes les données qu'il a créées et en affichant un message d'avertissement. Selon le type de nettoyage effectué par l'outil, l'annulation peut prendre plus ou moins de temps.

Les outils système peuvent s'exécuter au premier plan même lorsque le traitement en arrière-plan est activé

Il arrive parfois que les outils s'exécutent au premier plan même si le traitement en arrière-plan est activé :

  • Si vous modifiez des données, tous les outils de géotraitement s'exécutent au premier plan. Même si les données que vous modifiez ne sont pas utilisées par les outils de géotraitement, ArcGIS exécute néanmoins tous les outils au premier plan. Cette procédure empêche une situation dans laquelle un outil exécuté en arrière-plan modifie les données que vous mettez à jour.
  • Si vous ouvrez la fenêtre ModelBuilder et exécutez un modèle, tous les processus du modèle s'exécutent au premier plan. L'utilisation de la fenêtre ModelBuilder s'apparente à une session de mise à jour. Tous les processus s'exécutent au premier plan pour empêcher que la modification du workflow n'entraîne des résultats indésirables.
  • Certains outils système, par exemple l'outil Mettre la géodatabase à niveau, s'exécutent toujours au premier plan en raison du verrouillage des données et des besoins d'intégrité. D'autres outils système peuvent s'exécuter au premier plan s'ils doivent accéder à la carte actuelle.

Fermeture des applications lorsque les outils sont mis en attente ou exécutés en arrière-plan

Dans ArcMap (ArcGlobe ou ArcScene), vous pouvez quitter et enregistrer le document lorsque des outils sont exécutés ou mis en attente. Dans ce cas, tous les outils exécutés seront arrêtés. Les outils exécutés et mis en attente passeront à l'état Non exécuté dans la fenêtre Résultats du document enregistré. Ces entrées affichent des icônes creuses et peuvent être exécutées en cliquant avec le bouton droit sur le résultat puis en sélectionnant Réexécuter.

Si un outil est en fonctionnement ou en attente lors de la fermeture d'ArcCatalog, il sera immédiatement arrêté. Le résultat de l'outil est déplacé vers la section Non exécuté de la fenêtre Résultats. L'outil peut être réexécuté comme indiqué précédemment.

Traitement au premier plan

Lorsque le traitement en arrière-plan est désactivé, les outils s'exécutent au premier plan, et vous devez attendre la fin du processus avant de pouvoir réutiliser l'application. Une fois que l'exécution d'un outil commence, la boîte de dialogue de progression apparaît, comme illustré ci-dessous. Cliquez sur Détails pour afficher les messages d'exécution.

Message d'exécution normale

Un message d'avertissement apparaîtra sous la forme de texte vert dans les messages de l'outil, avec le préfixe AVERTISSEMENT suivi d'un code numérique. Un avertissement signifie que la sortie peut ne pas contenir ce que vous attendez. Dans le cas illustré ci-dessous, l'outil a créé une sortie vide. Le code numérique est un hyperlien sur lequel vous pouvez cliquer pour afficher une description complète de l'avertissement et les solutions possibles.

Un message d'erreur apparaît sous la forme de texte rouge, avec le préfixe ERREUR suivi d'un code numérique.

Message d'avertissement

Une fois qu'un outil s'est exécuté et que vous fermez la boîte de dialogue de progression, vous pouvez examiner tous les aspects de l'exécution dans la fenêtre Résultats.

Annulation d'un outil exécuté au premier plan

Au cours de l'exécution d'un outil, vous pouvez annuler l'exécution en cliquant sur le bouton Annuler dans la boîte de dialogue de progression.

Lorsqu'un outil reçoit l'instruction d'annulation, il essaie d'effectuer un nettoyage à la fin de son exécution, en supprimant toutes les données qu'il a créées et en affichant un message d'avertissement. Selon le type de nettoyage effectué par l'outil, l'annulation peut prendre plus ou moins de temps.

Considérations sur les performances

Le traitement en arrière-plan s'apparente à l'exécution d'une autre session ArcMap sur votre ordinateur mais sans que la fenêtre ArcMap ne soit ouverte. Ce processus supplémentaire (session) est lancé la première fois qu'un outil s'exécute en arrière-plan et reste actif jusqu'à la fermeture de votre session ArcMap. Vous noterez un bref délai à la première exécution d'un outil au démarrage du processus en arrière-plan.

Si vous utilisez des jeux de données volumineux, certains outils de géotraitement, en particulier ceux qui s'appuient sur un traitement tuilé, mobilisent beaucoup plus de ressources (mémoire et unité centrale) que votre système informatique ne peut en offrir. Si vous ne parvenez pas à exécuter un outil en arrière-plan en raison d'une quantité de mémoire disponible insuffisant (erreur « 000426: Out Of Memory » ou « 999998: Unexpected Error »), vous pouvez essayer la procédure suivante :

  1. Identifiez et quittez les applications non essentielles utilisant beaucoup de mémoire.
  2. Désactivez le traitement en arrière-plan dans la boîte de dialogue Options de géotraitement (Géotraitement > Options de géotraitement). Cette méthode interrompt le processus en arrière-plan et libère des ressources.
  3. Réexécutez l'outil.

En suivant la procédure précitée, vous contournez le traitement en arrière-plan ; le processus en arrière-plan supplémentaire ne démarre pas et les ressources qu'il mobiliserait sont à présent disponibles pour votre outil. Pendant l'exécution de l'outil, évitez de démarrer d'autres applications nécessitant beaucoup de mémoire.

ApprofondissementApprofondissement :

Le traitement en arrière-plan lance, en réalité, deux processus. Vous pouvez observer l'exécution des processus en arrière-plan dans le Gestionnaire des tâches de Windows. L'onglet Processus affiche les deux processus composant le traitement en arrière-plan : une instance ArcSOMP.exe et une ArcSOCP.exe. Ces processus ne doivent jamais être terminés via le gestionnaire des tâches, car cela pourrait entraîner des résultats inattendus. En cas de déconnexion entre l'application parent (ArcMap, ArcCatalog, etc.) et ces processus, ces derniers seront automatiquement nettoyés 10 minutes après la fermeture de l'application parent.


7/10/2012