Créer une tâche SQL

Une tâche SQL correspond à l'exécution d'une ou plusieurs Procédures stockées enregistrées. Ces procédures contiennent une logique qui doit être exécutée sur la base de données Selligent by Zeta. Ces procédures sont créées dans la configuration Administrateur. (Consultez cette rubrique).

Les tâches SQL vous permettent d'effectuer des calculs automatisés sur la base de données, d'agréger des données ou d'enrichir les données de la base de données.

Exemple: Calculer les indicateurs d'achat sur la base des informations des tables ORDERS et ORDERLINE qui ne contiennent pas de données agrégées.

Remarque: Les Procédures stockées créées dans SQL Server ne peuvent pas être utilisées dans les tâches.

Les tâches SQL peuvent être créées de deux manières différentes:

  • À partir du menu volant de l'entrée Echange de données, dans la barre de navigation de gauche. Cliquez sur le bouton Créer Nouveau et sélectionnez le type de tâche souhaité dans la liste déroulante.
  • Dans la page de démarrage, cliquez sur Créer > Créer une tâche SQL. Un assistant vous guide tout au long du processus de création et de configuration de la tâche.

Remarque: L'aperçu des étapes vous permet d'accéder directement à une étape spécifique lorsque vous éditez une tâche.

 

Procédez comme suit pour créer une nouvelle tâche SQL:

1. Définir les propriétés générales de la tâche

2. Définir les Procédures stockées

3. Afficher l'Historique

 

Définir les Propriétés générales

Propriétés

  • Chemin du dossier — Il s'agit de l'emplacement dans la structure de dossiers où la tâche est stockée.
  • Nom et la description — Choisissez un nom et une description explicites afin de pouvoir reconnaître facilement votre tâche dans la page de démarrage.
  • Libellé de l'actif — Le(s) libellé(s) attribué(s) à cet actif. Sélectionnez un ou plusieurs libellés dans la liste déroulante. (Ces libellés sont créés dans le module Configuration Admin.) Les utilisateurs disposant des autorisations d'accès appropriées peuvent également créer de nouveaux libellés en saisissant leur nouvelle valeur dans le champ.
  • Nom de l'API — Ce nom est utilisé lorsque la tâche est exécutée via l'API. Par défaut, le nom de l'API est complété par le nom donné à la tâche.

 

Programmation

Le commutateur de programmation indique si cette tâche doit avoir sa propre planification. Ceci n'est pas nécessaire si cette tâche fait partie d'une exécution par lots de tâches (tâche par lots) : dans ce cas, elle hérite de la planification de la tâche par lots parent.

La section Programmation définit la période de validité de la tâche ainsi que l'occurrence d'exécution.

Si la tâche doit être planifiée, activez l'option et définissez le calendrier.

Date de début et de fin — Vous pouvez définir une date de début et/ou une date de fin pour la tâche. Votre tâche peut par exemple commencer tout de suite, mais doit être exécutée indéfiniment.

Périodicité — Permet d'indiquer quand la tâche doit être exécutée:

  • Tous les jours — Permet de sélectionner les heures de la journée auxquelles la tâche doit être exécutée. Vous pouvez en sélectionner plusieurs.

  • Toutes les semaines — Permet de sélectionner le jour de la semaine auquel la tâche doit être exécutée. La tâche peut être exécutée plusieurs fois par semaine. Vous pouvez également définir l'heure de début.

  • Tous les mois — Permet de sélectionner les jours du mois auxquels la tâche doit être exécutée. Vous pouvez également sélectionner l'heure de la journée à laquelle la tâche doit être lancée.

  • PériodiquementPermet de définir la récurrence de la tâche, exprimée en minutes. Par exemple, la tâche est exécutée toutes les 10 minutes.

Remarque : L'heure de programmation sera exécutée en fonction du fuseau horaire du serveur. Le fuseau horaire du serveur actuellement configuré est mentionné à côté de l'icône d'information.

 

Déclencher un Journey après l'exécution d'une tâche

Cette option vous permet, si vous le souhaitez, de déclencher l'exécution d'un Transactional Journey après l'exécution réussie de la tâche. Cela signifie que le Journey ne sera pas exécuté si la tâche échoue. L'utilisateur en est alors informé.

Journey de destination — Sélectionnez un Journey de destination dans la liste déroulante. Vous ne pouvez sélectionner que des Transactional Journeys.

 

Déclencher un Custom Event après l'exécution de la tâche

Cette option vous permet de déclencher l'exécution d'un journey piloté par les événements. Par exemple, après avoir importé des données via une tâche dans la liste des événements personnalisés de la base de données, vous devez déclencher explicitement le journey qui utilise cette liste d'événements personnalisée pour vous assurer que les fiches sont traitées.

Vous devez d'abord sélectionner la liste d'audiences, puis une liste d'événements personnalisés liée. Les listes d'événements personnalisés sélectionnées ne peuvent être utilisées que dans un seul journey à la fois. Elles déclenchent automatiquement ce journey.

 

Notifications

Un message peut être envoyé :

  • * OnFailure — Lorsque le processus échoue. Au moins un groupe de notifications / une adresse e-mail est obligatoire.
  • OnComplete — Lorsque la tâche est terminée avec succès.
  • OnError — Lorsque la tâche est terminée avec des erreurs (le travail a été terminé, mais une ou plusieurs tâches ont généré des erreurs/exceptions).
  • On No file — Lorsqu'aucun fichier n'a pu être trouvé.

Pour activer cette option, il vous suffit d'activer la case à cocher correspondante et de saisir une ou plusieurs adresses e-mail. (Les adresses e-mail doivent être séparées par un point-virgule.) Vous pouvez également sélectionner un groupe de notifications. Ces groupes de notifications sont créés dans la configuration Administrateur.

Remarque: Les e-mails de notification en cas d'échec de la tâche sont obligatoires. Les autres notifications sont facultatives.

 

Configurer le planificateur (Optionnel)

Remarque: La section Planificateur n'est visible que si des planificateurs sont configurés sur votre environnement. Par défaut, il y a 1 planificateur, auquel cas cette section n'est pas affichée car ce planificateur par défaut est utilisé. S'il existe plus d'un planificateur configuré, vous avez accès à la section Planificateur.

Lorsque plusieurs tâches, importations ou exportations sont exécutées, il pourrait se révéler judicieux d'utiliser un planificateur différent afin de s'assurer que les tâches dont l'exécution est longue n'interfèrent pas avec les tâches dont l'exécution est plus courte. La configuration d'un planificateur est facultative. Si vous conservez le planificateur par défaut, toutes les tâches/exportations/importations seront exécutées, mais si l'une des tâches est plus longue, la tâche plus courte ne sera exécutée que lorsque cette tâche plus longue sera terminée.

Vous pouvez choisir entre 3 planificateurs différents : le planificateur par défaut, le planificateur personnalisé 1 et le planificateur personnalisé 2. En sélectionnant des planificateurs différents pour vos tâches, ces dernières vont s'exécuter en parallèle, sans interférer l'une avec l'autre. Ce qui signifie que si certaines tâches sont plus longues à exécuter, il pourrait se révéler judicieux de les exécuter sur un planificateur différent.

Lorsque vous avez terminé, appuyez sur Suivant.

 

Définir les Procédures stockées

Dans cette interface graphique, une ou plusieurs Procédures stockées sont sélectionnées pour exécution au sein de cette tâche. L'ordre des procédures dans le flux correspond à l'ordre dans lequel elles sont exécutées.

1. Faites glisser le composant Procédure stockée sur le canevas graphique.

2. Double-cliquez sur le composant pour accéder aux propriétés de la Procédure stockée :

3. Sélectionnez une Procédure stockée dans la liste déroulante. Vous pouvez définir ce qui suit.

Échec de la contrainte — Utilisez la valeur renvoyée par la Procédure stockée pour définir si elle a ou non échoué.

  • Si aucune valeur de retour explicite n'est définie dans la conception de la procédure stockée, la valeur 0 est renvoyée par défaut en cas de succès. Toute autre valeur renvoyée implique un échec.



    Dans ce cas, vous devez définir la contrainte d'échec sur : Échec si valeur de retour <> 0.

  • Lorsque la conception de la procédure stockée contient une ou plusieurs valeurs de retour personnalisées, les valeurs qui sont renvoyées en cas de succès et d'échec dépendent de cette conception.

    Dans ce cas, vous devez décider ce que vous considérez être une contrainte d'échec.

    Exemple 1:
    La procédure stockée utilisée définit que la valeur 10 est renvoyée après l'exécution de certaines instructions SQL, et que la valeur 12 est renvoyée après l'exécution d'un autre ensemble d'instructions SQL.

    Vous considérez que la partie qui définit la valeur de retour comme étant 12 est la seule qui a réussi. Tous les autres cas doivent être considérés comme des échecs.

    ans ce cas, vous définissez la contrainte d'échec sur : Échec si valeur de retour <> 12.

    Exemple 2:
    La procédure stockée utilisée définit les valeurs de retour 1, 10, 50, 51, 52, 53, 54, 55, 56, 60.

    Vous considérez les valeurs de retour 1, 10 et 50 comme des valeurs de « réussite ». Les autres valeurs indiquent une erreur et sont donc considérées comme des échecs.

    Dans ce cas, vous pouvez définir la contrainte d'échec sur : Échec si valeur de retour >= 51.

Paramètres — Certaines Procédures stockées requièrent des paramètres. Le cas échéant, une section supplémentaire est disponible afin de vous permettre de définir ces paramètres.

4. Ajoutez à la tâche autant de Procédures stockées que nécessaire et configurez chacune d’elles comme il est expliqué plus haut.

Remarque: Les composants Réussite et Échec par défaut indiquent quand la tâche SQL a réussi ou échoué et représentent le point final pour ce flux.

5. Chaque procédure stockée fournit l'un des deux résultats.

En cas de succès — Itinéraire à suivre si la procédure stockée ne renvoie pas de valeur d'échec.

En cas d'échec — Itinéraire à suivre si la valeur de retour des procédures stockées correspond à la contrainte ayant échoué (exemple : valeur de retour &lt;&gt; 0).

Ces branches doivent être connectées à l'un des éléments suivants:

  • Réussite— La connexion à ce composant indique que toute la tâche a été exécutée avec succès et qu'aucun traitement supplémentaire n'a lieu.
  • Autre procédure stockée —Un traitement ultérieur peut avoir lieu après les branches *OnFailure* ou *OnSuccess* de la précédente.
  • Échec— La connexion à ce composant indique que toute la tâche a échoué et qu'aucun traitement supplémentaire n'a lieu.

Remarque: Les composants Pass et Fail par défaut doivent être considérés comme les terminaisons de l'ensemble du flux. Le traitement atteindra éventuellement l'un de ces états.

Remarque: Si la tâche est définie sur 'Réussite' dès qu'une procédure réussit, les procédures restantes de la même tâche ne sont pas exécutées. La tâche est considérée comme terminée. Si la procédure est définie sur 'Échec', la tâche SQL est terminée avec mention d'un échec.

 

Pour définir l’ordre dans lequel les procédures sont exécutées et ce qui doit intervenir ensuite, connectez les différentes Procédures stockées à l’étape suivante qui convient.

6. Lorsque la définition du flux de la tâche SQL est terminée, appuyez sur Enregistrer. La tâche SQL est validée et les erreurs, avertissements et messages s’affichent :

 

Historique

L'Historique fournit à l'utilisateur des informations sur

  • les modifications apportées à cette tâche (mise à jour, suppression) et sur la personne qui les a effectuées. Ces informations sont disponibles dans l'onglet Journal de modifications.
  • les différentes exécutions de la tâche et le statut de ces exécutions. Ces informations sont disponibles dans l'onglet Historique de l'exécution. Si la tâche contient des sous-tâches, leur historique de l'exécution peut également être consulté.
  • où la tâche est utilisée. Ces informations sont disponibles dans l'onglet Utilisation.

Utilisez les icônes de filtre en haut pour filtrer l'historique de l'exécution.

 

Lorsque vous avez terminé de sélectionner et définir les Procédures stockées pour cette tâche, vous pouvez Enregistrer la tâche. Une fois la tâche enregistrée, celle-ci sera disponible dans la page de démarrage des Tâches, où vous pourrez l'activer. Vous pouvez également l'activer au moment de sa création en cliquant sur le bouton Enregistrer et Activer.