Skip to content

$script.getStatus

Description

Récupère l'état d'un script asynchrone.

Le script asynchrone peut avoir les états suivants:

  • CREATION: état durant lequel le scope initial est construit
  • RUNNNING: état durant lequel le script est en cours d'exécution
  • FINISHED: état post-traitement, durant lequel l'environnement est nettoyé.

État d'exécution des scripts

En pratique, Ewt inscrit l'état du script dans un objet de thread associé au thread d'exécution du script parent. Il est donc possible de connaître l'état du script en lisant l'entrée correspondant à l'identifiant de script directement via $thread.getObject.

Syntaxe

$script.getStatus( threadId )

Paramètres

threadId string
Identifiant du script asynchrone dont on souhaite connaître l'état

Retour

Retourne l'état de fonctionnement du script ou null si le script n'est plus en cours d'exécution.

Exemple

Le script ci-dessous s'appelle lui-même de façon asynchrone et vérifie le statut à intervalle régulier.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
if ($$.test == null) {
    $logger.info($script.id());
    var s, res = $script.call("sample", { test: 1 }, { async: true });
    $logger.info(res);
    do {
        s = $script.getStatus(res);
        $logger.warn(s);
        $script.sleep(250);
    }
    while (s != null);
}
else {
    $logger.info($script.id());
    $script.sleep(1000);
}

La trace d'exécution du script est la suivante:

INFO f075266050dd28ff9100a475d13f44ca
DEBUG - Start script execution: `_test.script`
INFO - 30da14108e6afd06ecb5bb4beca29524
WARN - CREATION
INFO - 30da14108e6afd06ecb5bb4beca29524
WARN - RUNNING
WARN - RUNNING
WARN - RUNNING
WARN - null