SchedulerX fournit des variables système intégrées que vous pouvez exploiter lors de l'exécution des tâches de script. Ces variables permettent d'accéder aux paramètres de job, au contexte de partitionnement et aux métadonnées d'exécution sans recourir à des valeurs codées en dur.
Toutes les variables utilisent la syntaxe #{schedulerx.<variable>}.
La version de l'agent doit être 1.12.5 ou ultérieure.
Contexte de planification
| Variable | Description | Exemple |
|---|---|---|
#{schedulerx.jobParameters} |
Paramètre du job. | test |
#{schedulerx.triggerType} |
Mode de déclenchement du job. Voir Types de déclencheurs. | 1 |
#{schedulerx.scheduleTime} |
Horodatage de planification (précision milliseconde). | 1743150114875 |
#{schedulerx.dataTime} |
Horodatage des données (précision milliseconde). | 1743150114875 |
#{schedulerx.agentVersion} |
Numéro de version de l'agent, utilisé par les scripts pour identifier l'environnement d'exécution. | 1.13.5 |
Variables de partitionnement
Ces variables fournissent le contexte au niveau des partitions pour les jobs de diffusion (broadcast) et les jobs de partitionnement.
| Variable | Description | Exemple |
|---|---|---|
#{schedulerx.shardingId} |
Identifiant de la partition. Pris en charge par les jobs de diffusion et les jobs de partitionnement. | 0 |
#{schedulerx.shardingParameters} |
Paramètre de partition. Pris en charge uniquement par les jobs de partitionnement. | hangzhou |
#{schedulerx.shardingNum} |
Nombre total de partitions. Pris en charge par les jobs de diffusion et les jobs de partitionnement. | 2 |
État d'exécution
| Variable | Description | Exemple |
|---|---|---|
#{schedulerx.attempt} |
Nombre de tentatives de réexécution du job. La valeur est 0 lors de la première exécution. |
0 |
Types de déclencheurs
La variable #{schedulerx.triggerType} renvoie l'une des valeurs entières suivantes :
| Valeur | Signification |
|---|---|
| 1 | Planification périodique |
| 2 | Actualisation des données |
| 3 | Planification via API |
| 4 | Réexécution manuelle |
| 5 | Nouvelle tentative système |
| 6 | Exécution manuelle |
Exemple d'utilisation
Le script Shell suivant illustre comment référencer les variables système :
#!/bin/bash
# Access scheduling context
echo "Job parameter: #{schedulerx.jobParameters}"
echo "Trigger type: #{schedulerx.triggerType}"
echo "Schedule time: #{schedulerx.scheduleTime}"
echo "Data time: #{schedulerx.dataTime}"
# Sharding context (broadcast and sharding jobs only)
echo "Shard ID: #{schedulerx.shardingId}"
echo "Shard parameter: #{schedulerx.shardingParameters}"
echo "Total shards: #{schedulerx.shardingNum}"
# Execution state
echo "Attempt: #{schedulerx.attempt}"
Après substitution des variables, la sortie ressemble à ceci :
Job parameter: test
Trigger type: 1
Schedule time: 1743150114875
Data time: 1743150114875
Shard ID: 0
Shard parameter: hangzhou
Total shards: 2
Attempt: 0