> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Démarrage rapide des tâches planifiées

> Créez dans Game Manager une tâche planifiée PlayFab récurrente qui appelle CloudScript à l'aide d'une expression cron pour ajuster les données de titre à intervalle fixe.

Ce démarrage rapide vous montre comment créer une tâche qui s'exécute selon une planification. De nombreuses routines d'exploitation d'un jeu peuvent être automatisées à l'aide d'une tâche planifiée, par exemple :

* Modifier les prix d'une boutique en fonction de l'heure de la journée.
* Mettre à jour les données de titre pour refléter les changements liés à un événement en cours.
* Injecter quotidiennement des monnaies virtuelles dans l'économie du jeu, etc.

Dans l'exemple utilisé dans ce démarrage rapide, nous allons vous montrer comment modifier une variable de jeu appelée **rareDropRate** dans les données de titre à 12:00 UTC, et uniquement le week-end.

## Étape 1 - Préparer le CloudScript

Dans **Game Manager** :

* Sélectionnez **Automation** dans le menu de gauche.
* Dans l'onglet **CloudScript Revisions**, ajoutez une nouvelle fonction CloudScript appelée `adjustRareDropRate` contenant un simple appel à l'API `SetTitleData`, comme le montrent l'extrait de code et l'image ci-dessous.

<Note>
  Pour les plus attentifs, ne vous inquiétez pas : un bogue y a été placé volontairement. Veillez à déployer la nouvelle révision afin qu'elle soit active dans votre jeu.
</Note>

Pour en savoir plus sur l'utilisation de CloudScript, consultez notre [démarrage rapide de CloudScript](/fr/services/playfab/live-service-management/service-gateway/automation/cloudscript/quickstart), ainsi que la documentation de la méthode [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript).

```javascript theme={null}
handlers.adjustRareDropRate = function(args) {
    // Tutorial demo CloudScript
    serverAPI.SetTitleData({
        "Key": "rareDropRate",
        "Value": args.dropRate
    });
}
```

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-cloudscript-deploy-new-revision.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=db6bc4f364ba1f9b4f28094921c2383c" alt="Game Manager - CloudScript - Déployer une nouvelle révision" width="1280" height="700" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-cloudscript-deploy-new-revision.png" />

## Étape 2 - Créer une tâche planifiée

Sélectionnez maintenant **Servers** dans le menu de gauche.

* Accédez à l'onglet **Scheduled Tasks**.
* Sélectionnez **New Scheduled Task** dans le coin supérieur droit de votre écran.
* La vue **Create Task** s'affiche.
* Dans le champ **Type of task**, choisissez **Run a CloudScript function**.
* En dessous, vous pourrez choisir une fonction de la révision de CloudScript actuellement déployée et spécifier les arguments à transmettre.
* Choisissez le **gestionnaire adjustRareDropRate** que vous avez écrit à l'étape précédente.

Pour définir la planification de cette tâche :

* Sélectionnez **On a schedule (UTC)** sous l'en-tête **SCHEDULE**.
* Un générateur de planification simple vous permet de choisir quand la **tâche** doit s'exécuter (toutes les heures, tous les jours, toutes les semaines, etc.).
* Pour cet exemple, nous souhaitons une planification avancée, dans laquelle nous pouvons spécifier les jours de la semaine où la tâche doit s'exécuter.
* Sélectionnez donc **CRON EXPRESSION**.

L'expression cron, hautement personnalisable, vous permet de créer une planification très complexe ; notez cependant que nous n'autorisons actuellement *que* les planifications dont les occurrences tombent sur des multiples de 5 minutes dans l'heure.

Par exemple, vous pouvez spécifier qu'une tâche s'exécute à la 5e, 10e, 25e ou 50e minute de l'heure, mais vous ne pouvez *pas* spécifier qu'une tâche s'exécute à la 3e, 11e ou 46e minute de l'heure.

Si vous souhaitez en savoir plus sur les expressions cron, [crontab.guru](https://crontab.guru/) fournit des informations détaillées et un générateur d'expressions interactif.

Dans ce cas, nous voulons que la tâche s'exécute à 12:00 UTC le samedi et le dimanche, ce qui donne **00 12 \* \* 0,6**  (zéro minute après midi, chaque dimanche et samedi).

Enfin, veillez à enregistrer la nouvelle tâche avant de passer à l'étape suivante.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-new-scheduled-task.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=e8ee3518088be1728ac184868d985b53" alt="Game Manager - Tâches - Nouvelle tâche planifiée" width="1046" height="800" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-new-scheduled-task.png" />

## Étape 3 - Tester la tâche

Dans la vue **Tasks** (**Servers** -> **Tasks**), nous pouvons voir que la prochaine exécution de la tâche nouvellement créée aura lieu le *samedi* suivant, comme prévu.

Ainsi, si nous sommes actuellement *mardi*, la prochaine exécution planifiée aura lieu *dans 4 jours*. Pour tester la tâche *maintenant*, sélectionnez la tâche **Adjust rare drop rate** et choisissez **RUN TASKS**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-run-tasks.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=ca99c453fb27cae7ee06c514a64bac32" alt="Game Manager - Tâches - Exécuter les tâches" width="1920" height="600" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-run-tasks.png" />

## Étape 4 - Vérifier les résultats de l'exécution de test

Malheureusement, l'exécution de la tâche a échoué. Sélectionnez l'instance de la tâche pour voir ce qui s'est mal passé.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-recent-task-executions-failed.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=140bddb5715b4815d89ad9f26bcbaa75" alt="Game Manager - Tâches - Exécutions récentes - Échec" width="1870" height="253" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-recent-task-executions-failed.png" />

La vue **Task Instance Details** fournit des informations de diagnostic sur la raison de l'échec de la tâche.

Dans ce cas, elle signale que l'appel à **serverAPI.SetTitleData** est incorrect. Il devrait *en réalité* s'agir de **server.SetTitleData** (pour une explication, consultez la section **Intermediate: Calling the Server APIs** du didacticiel [Écriture de CloudScript personnalisé](/fr/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript#intermediate-calling-the-server-apis)).

La vue **Task Instance Details** contient également d'autres informations importantes, comme les heures de début et de fin, la fonction appelée, les arguments transmis, le résultat complet de l'exécution de CloudScript, etc.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-task-instance-details.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=86e963959cb4c8aed29d5523031d0346" alt="Game Manager - Tâches - Détails de l'instance de tâche" width="1120" height="1869" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-task-instance-details.png" />

## Étape 5 - Tester à nouveau (avec succès)

Corrigez l'erreur trouvée à l'étape 4. L'extrait de code correct est présenté ci-dessous.

```javascript theme={null}
handlers.adjustRareDropRate = function(args) {
    // Tutorial demo CloudScript
    server.SetTitleData({
        "Key": "rareDropRate",
        "Value": args.dropRate
    });
}
```

En répétant maintenant l'étape 3, votre dernière exécution de test réussit.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-recent-task-executions-successful.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=e67ce866e0b36227b39e3c829eea5000" alt="Game Manager - Tâches - Exécutions récentes - Réussite" width="1686" height="446" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-tasks-recent-task-executions-successful.png" />

Pour confirmer la réussite :

* Sélectionnez **Content** dans le menu de gauche.
* Accédez à l'onglet **Title Data**.
* Vérifiez que l'entrée **Title Data** a bien été définie.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-content-title-data.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=229b4658045991da01edcad22c512fef" alt="Game Manager - Contenu - Données de titre" width="1280" height="800" data-path="images/playfab/data-analytics/acting-data/scheduled-tasks/tutorials/game-manager-content-title-data.png" />


## Related topics

- [Tâches planifiées](/fr/services/playfab/data-analytics/acting-data/scheduled-tasks/index.md)
- [Documentation sur les données et l’analytique PlayFab](/fr/services/playfab/data-analytics/index.md)
- [Démarrage rapide des schémas](/fr/services/playfab/data-analytics/acting-data/schemas-quickstart.md)
- [Démarrage rapide des données des joueurs](/fr/services/playfab/player-progression/player-data/quickstart.md)
- [Démarrage rapide des entités](/fr/services/playfab/live-service-management/game-configuration/entities/quickstart.md)
