Cas particuliers dans les plannings de tâches

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Certains cas particuliers nécessitent une attention particulière dans la planification des tâches.

    Calendriers de fin de mois

    Étant donné que les mois ont des durées différentes, soyez prudent lorsque vous planifiez des tâches pour la fin du mois.

    • Il n’est pas recommandé de programmer un événement pour le 29 ou le 30, car la tâche planifiée est exécutée pendant des mois (comme février) qui sont plus courts que ces dates.
    • Si un événement est planifié pour le 31, il s’exécute le dernier jour du mois, même si le mois est plus court.

    Par exemple, un élément planifié pour s’exécuter le 31 du mois se déroule le 28 février ou le 29 février d’une année bissextile.

    Calendriers de la semaine

    Pour les scripts planifiés, utilisez le script suivant à exécuter uniquement les jours de la semaine :

    Avertissement :
    Les scripts conditionnels pour les e-mails de rapport planifié sont exécutés dans le bac à sable. Par conséquent, les définitions de fonctions ne sont pas autorisées. Certains appels API et mots clés ne sont pas non plus autorisés.
    
    var isWeekday;
    var today = new Date();
    var dayOfWeek = today.getDay(); // Get day of the week(0 = Sunday, 1 = Monday, ... , 6 = Saturday)
    switch (dayOfWeek) {
    case 0: // Sunday
    case 6: // Saturday
    isWeekday = false;
    break;
    default:
    isWeekday = true;
    }
    answer=isWeekday;

    Si le script conditionnel d’un rapport planifié est plus complexe et que vous devez utiliser nos classes Glide, veuillez utiliser les étapes suivantes comme solution de contournement :

    1. Créez une tâche planifiée et exécutez toute la logique conditionnelle du rapport planifié à l’intérieur de la tâche planifiée.
    2. Si toute la logique conditionnelle est satisfaite, vous pouvez déclencher le rapport planifié avec le script suivant à l’intérieur du travail planifié.
      var schRpGr = new GlideRecord("sysauto_report");
      schRpGr.get("<sys_id of the scheduled report>");
      gs.executeNow(schRpGr);

    Travaux planifiés à partir des scripts

    Pour exécuter une tâche planifiée déclenchée par un événement, utilisez le script suivant :

    //Execute a scheduled script job
    var rec = new GlideRecord('sysauto_script');
    rec.get('name', 'YOUR_JOB_NAME_HERE');
    SncTriggerSynchronizer.executeNow(rec);
    Vous pouvez exécuter le script à l’aide de plusieurs tables :
    • scheduled_import_set (ensembles d’importations planifiées)
    • sysauto_script (exécution de script planifiée)
    • sysauto_template (génération de modèle planifiée)
    • sysauto_report (rapport planifié)
    Remarque :
    SncTriggerSynchronizer ne fournit pas de méthodes pour exécuter des travaux planifiés à l’avenir.

    Exécution de scripts planifiés et de travaux importés d’une autre instance

    Les exécutions de script planifiées et les travaux planifiés sont classés comme enregistrements de données dans , ce qui signifie qu’ils ServiceNow AI Platform sont exclus des ensembles de mises à jour. Pour déterminer si une table est incluse, accédez à Tous > Définition du système > Dictionnaire et affichez la valeur Attribut pour la table en question. Seules les tables avec l’attribut update_sync=true sont incluses dans les ensembles de mises à jour.

    Vous pouvez éventuellement exporter et importer des enregistrements de données via XML. Toutefois, pour éviter des changements inattendus de données, les enregistrements d’élément de calendrier [sys_trigger] ne sont pas créés pour les enregistrements de données importés à partir d’un fichier XML tel qu’un ensemble de mises à jour. Pour exécuter des travaux planifiés ou des scripts importés d’une autre instance, mettez à jour la tâche correspondante ou l’enregistrement de script dans l’instance cible.