Exécuter des projets en continu
Utilisez le mode continu pour planifier l’exécution des charges de travail en continu. Databricks recommande d’utiliser le mode continu pour les charges de travail de diffusion en continu Always-on.
Le mode continu remplace les recommandations héritées pour les charges de travail Structured Streaming afin de configurer les projets avec une stratégie de nouvelles tentatives illimitée et un maximum d’une exécution simultanée.
Important
Le calcul serverless pour les projets ne prend pas en charge le mode continu.
Configurer le projet à exécuter en mode continu
Pour configurer un projet à exécuter en mode continu, procédez comme suit :
- Cliquez sur Workflows dans la barre latérale.
- Cliquez sur le nom du projet dans la colonne Nom de l’onglet Projets.
- Cliquez sur Ajouter un déclencheur dans le panneau Détails du projet, sélectionnez Continu dans Type de déclencheur, puis cliquez sur Enregistrer.
Pour arrêter un projet continu, cliquez sur le bouton Pause. Cliquez sur Reprendre pour redémarrer le projet en mode continu.
Remarque
- Il ne peut y avoir qu’une seule instance en cours d’exécution d’un travail continu.
- Un délai existe entre la fin d’une exécution et le début d’une nouvelle exécution. Ce délai doit être inférieur à 60 secondes.
- Vous ne pouvez pas utiliser les dépendances de tâche avec un travail continu.
- Vous ne pouvez pas utiliser de stratégies de nouvelle tentative avec un travail continu. Au lieu de cela, les travaux continus utilisent un backoff exponentiel pour gérer les échecs d’exécution des travaux.
- Sélectionnez Run now pour déclencher l’exécution d’un nouveau projet sur un projet continu en pause.
- Pour que votre projet continu prenne en charge une nouvelle configuration, annulez l’exécution en cours. Une nouvelle exécution démarre automatiquement. Vous pouvez également cliquer sur Redémarrer l’exécution pour redémarrer l’exécution du travail avec la configuration mise à jour.
Comment les échecs sont-ils gérés pour les travaux continus ?
Azure Databricks utilise un schéma de backoff exponentiel pour gérer des projets continus avec plusieurs défaillances consécutives. Le backoff exponentiel permet aux travaux continus de s’exécuter sans interrompre et de revenir à un état sain lorsque des défaillances récupérables se produisent.
Lorsqu’un travail continu dépasse le seuil autorisé d’échecs consécutifs, la procédure suivante décrit comment les exécutions de travaux suivantes sont gérées :
- Le travail est redémarré après une période de nouvelle tentative définie par le système.
- Si l’exécution du travail suivante échoue, la période de nouvelle tentative est augmentée et le travail est redémarré après cette nouvelle période de nouvelle tentative.
- Pour chaque défaillance ultérieure d’exécution de projet, la période de nouvelle tentative est à nouveau augmentée, jusqu’à une période de nouvelle tentative maximale définie par le système. Après avoir atteint la période de nouvelle tentative maximale, le travail continue d’être retenté à l’aide de la période maximale de nouvelle tentative. Le nombre de nouvelles tentatives pour un travail continu n’est pas limité.
- Si l’exécution du travail se termine correctement et démarre une nouvelle exécution, ou si l’exécution dépasse un seuil sans échec, le travail est considéré comme sain et la séquence d’interruption est réinitialisée.
Vous pouvez redémarrer un travail continu dans l’état de backoff exponentiel via l’interface utilisateur des travaux ou en transmettant l’ID de travail à la requête POST /api/2.1/jobs/run-now dans l’API Jobs 2.1 ou la requête POST /api/2.0/jobs/run-now dans l’API Jobs 2.0.