Automatiser les processus avec ArcGIS Notebooks

Notebook Services vous permet d’appliquer plusieurs méthodes pour automatiser les processus, notamment en utilisant des notebooks planifiés, des webhooks ou des scripts personnalisés à l’aide de l’API d’administration Execute Notebook.

Remarque :

Pour que vous puissiez automatiser un notebook à l’aide de tâches planifiées, de webhooks ou de l’API Run Notebook, le notebok doit utiliser un runtime de version 3.0 ou ultérieure.

Planifier des tâches de notebook

Les créateurs de notebooks peuvent planifier ArcGIS Notebooks pour une exécution automatisée à heure fixe dans le futur, une seule fois ou de manière récurrente. La création de tâches pour programmer des notebooks permet d’automatiser des processus classiques, exécuter aux heures creuses des traitements qui utilisent un grand volume de données et mettre à jour régulièrement des jeux de données. Vous pourriez ainsi programmer un notebook pour réaliser les opérations suivantes :

  • Importer des données à partir d’une source en ligne mise à jour tous les mois, nettoyer les données automatiquement, appliquer les transformations nécessaires et transférer les données dans votre espace de travail
  • Exécuter un processus d’analyse de Big Data impliquant des traitements lourds au cours de la nuit au moment où les ressources de votre machine sont inutilisées
  • Gérer les utilisateurs ayant créé un compte dans votre organisation la semaine précédente et vous envoyer la liste par e-mail

Vous pouvez créer une ou plusieurs tâches pour un notebook. Par défaut, un administrateur ou créateur de notebooks peut créer un maximum de 20 tâches. En cas de changement de propriétaire d’un notebook, les tâches qui lui sont associées sont désactivées et attribuées à son nouveau propriétaire.

Vous pouvez utiliser les tâches planifiées pour paramétrer les notebooks. Un notebook paramétré vous permet d’écrire un code générique qui peut s’adapter aux différentes entrées sans intervention de votre part. Lors de l’exécution de la tâche, les paramètres choisis sont insérés dans le notebook, où ils peuvent éventuellement être enregistrés. Par exemple, vous pouvez utiliser un notebook paramétré pour produire des rapports sur la pollution de l’air par région de façon récurrente. Ce notebook peut comporter plusieurs tâches planifiées, une pour chaque région à étudier. Par ailleurs, pour chaque tâche, une entrée paramétrée comme le nom de la ville et le type de pollution peuvent être transmis au notebook.

Remarque :

Les administrateurs peuvent afficher de façon détaillée, modifier, interrompre, reprendre ou supprimer chaque tâche d’un notebook actif sur le site, à partir de la fenêtre Manage tasks (Gérer les tâches).

Vous pouvez configurer la tâche pour enregistrer l’état du notebook dans l’élément de notebook d’origine à l’issue de l’exécution.

Une vue HTML statique est enregistrée pour chaque tâche planifiée exécutée.

À l’aide de la fenêtre Manage tasks (Gérer les tâches) de la page d’accueil Notebook Services, les administrateurs peuvent afficher des détails, modifier, interrompre et reprendre, ou supprimer chaque tâche de notebook active sur le site. Les administrateurs et créateurs de notebooks doivent posséder le privilège permettant de planifier un notebook pour pouvoir afficher de façon détaillée, modifier, interrompre, reprendre ou supprimer une tâche de notebook dans la page des détails du notebook ou dans la fenêtre des tâches de l’éditeur de notebooks.

Si l’exécution précédente d’une tâche est toujours en cours, la nouvelle exécution de la tâche planifiée est ignorée. Par exemple, si l’exécution d’une tâche est programmée toutes les 15 minutes, mais qu’une instance de cette tâche est en cours depuis 20 minutes, l’exécution planifiée suivante est ignorée. Si cela se produit souvent, le propriétaire de la tâche doit ajuster l’intervalle temporel planifié de façon à ce que les exécutions ne se chevauchent pas.

Pour plus d’informations sur les tâches de notebook planifiées, reportez-vous à la rubrique d’aide Planifier une tâche de notebook.

Limites des tâches planifiées

Il existe certaines limites au niveau de l’utilisateur et de l’organisation associées aux tâches de notebook planifiées.

Modifier le nombre maximal d’exécutions de notebook automatisées simultanées (maxAutomatedNotebookJobsPerManager)

Lors de l’exécution d’un notebook par une tâche planifiée, d’un webhook ou de l’API Execute Notebook, Notebook Services ouvre automatiquement un nouveau déploiement et exécute le notebook sans intervention de l’utilisateur. Par défaut, Notebook Services est configuré pour traiter un maximum de 10 exécutions de notebook simultanées pour chaque déploiement de service d’automatisation de notebook. En tenant compte des ressources disponibles sur le cluster Kubernetes, un administrateur peut ajuster cette limite en modifiant la propriété de configuration maxAutomatedNotebookJobsPerManager de Notebook Services. Les demandes de notebooks automatisés envoyées après le dépassement de cette limite seront ajoutées dans une file d’attente et exécutées une fois que le nombre d’exécutions de tâches automatisées sera retombé sous cette limite. Les tâches en file d’attente échouent si le temps d’attente dépasse le délai d’expiration.

Remarque :

Cela ne limite pas le nombre de notebooks qui sont exécutés interactivement à partir de l’éditeur de notebooks.

Vous pouvez modifier la limite maxAutomatedNotebookJobsPerManager en procédant comme suit.

Remarque :

L’augmentation de la limite peut entraîner l’utilisation de ressources supplémentaires sur les nœuds.

  1. Connectez-vous à votre API ArcGIS Enterprise Administrator en tant qu’administrateur.
  2. Cliquez sur Notebooks > Configuration > Update Configuration (Mettre à jour la configuration).
  3. Cliquez sur Settings (Paramètres) > Site
  4. Modifiez la valeur de la propriété maxAutomatedNotebookJobsPerManager.
  5. Cliquez sur Update Notebook Configuration (Mettre à jour la configuration du notebook).

Nombre maximal de tâches de notebook planifiées actives par utilisateur

Chaque auteur de notebook doté du privilège Planifier des notebooks peut créer jusqu’à 20 tâches de notebook actives au maximum. Une fois cette limite atteinte, l’utilisateur ne peut pas créer de nouvelles tâches planifiées. Une nouvelle tâche peut être créée dès lors qu’une tâche existante passe de l’état Active (Actif) à Complete (Terminé), Failed (Échec) ou Inactive (Inactif). Vous pouvez modifier cette limite en mettant à jour la propriété ExecuteNotebooksUserLimit à l’aide de l’opération Mettre à jour les limites dans l’API ArcGIS Enterprise Administrator.

Nombre maximal de tâches de notebook planifiées actives par organisation

Le nombre maximal de tâches de notebook planifiées actives pour une organisation est limité à 200. Cette limite représente le nombre total de tâches actives qui peuvent appartenir à tous les utilisateurs dans une organisation. Une fois cette limite atteinte, les utilisateurs ne peuvent pas créer de nouvelles tâches de notebook planifiées. Vous pouvez modifier cette limite en mettant à jour l’opération ExecuteNotebooksOrgLimitMettre à jour les limites dans l’API ArcGIS Enterprise Administrator.

Nombre de résultats signalés pour une tâche planifiée

Les résultats d’une tâche sont signalés et conservés pendant 30 exécutions. Les exécutions de tâche antérieures aux 30 exécutions les plus récentes d’une tâche sont supprimées définitivement. Vous pouvez modifier cette limite en mettant à jour la propriété TaskRunHistoryCount à l’aide de l’opération Mettre à jour les limites dans l’API ArcGIS Enterprise Administrator.

Échec automatique d’une tâche

Les tâches qui échouent 5 fois consécutives basculent automatiquement à l’état Failed (Échec) et ne s’exécutent plus. Avant de la réactiver, le propriétaire de la tâche doit vérifier que l’exécution du notebook peut aboutir sans intervention de la part de l’utilisateur. Pour garantir que les tâches continuent de s’exécuter, le propriétaire de la tâche doit identifier et rectifier l’échec et basculer la tâche à l’état Actif. Vous pouvez modifier cette limite en mettant à jour la propriété FailedRunsDisableTask à l’aide de l’opération Mettre à jour les limites dans l’API ArcGIS Enterprise Administrator.

API d’exécution d’un notebook

Les administrateurs et créateurs de notebooks peuvent également automatiser l’exécution d’un notebook sans intervention de la part de l’utilisateur à l’aide de l’opération Execute Notebook (Exécuter un notebook) dans le API ArcGIS Enterprise Administrator. Lorsqu’elle est invoquée, cette opération exécute automatiquement un notebook. Toutefois, si vous utilisez un script personnalisé, vous pouvez planifier son exécution automatique à une heure précise ou la répéter à intervalles réguliers. Vous pouvez également utiliser une tâche cron ou un planificateur Windows pour programmer l’exécution de l’opération Execute Notebook à une heure précise ou la répéter à intervalles réguliers.

Pour en savoir plus, reportez-vous à la rubrique Execute Notebook (Exécuter un notebook) du guide de référence du répertoire administrateur.