Go to main content

Guide d'administration d'Oracle® ZFS Storage Appliance, version OS8.8.x

Quitter la vue de l'impression

Mis à jour : Août 2021
 
 

Présentation des workflows

Un workflow est matérialisé par un fichier ECMAscript valide contenant une seule variable globale : workflow. L'objet workflow doit contenir au moins trois membres :

Table 151  Membres objets workflow obligatoires
Membre obligatoire
Type
Description
name
String
Nom du workflow
description
String
Description du workflow
execute
Fonction
Fonction exécutant le workflow
Exemple 7  Workflow Hello World

Ce exemple illustre un simple workflow.

var workflow = {
       name: 'Hello world',
       description: 'Bids a greeting to the world',
       execute: function () { return ('hello world!') }
};

Après téléchargement de ce workflow vers l'appareil, un nouveau workflow nommé "Hello world" est disponible. L'exécution de ce workflow génère la sortie "hello world!".

Exemple 8  Utilisation de la fonction d'exécution de workflow pour obtenir la valeur d'utilisation CPU

Les workflows s'exécutent de manière asynchrone dans le shell de l'appareil ; par défaut, ils s'exécutent comme s'ils étaient eux-mêmes des utilisateurs exécutant des workflows. Les workflows disposent librement de l'utilitaire de script de l'appareil (voir la section Utilisation de l'écriture de scripts CLI) et peuvent interagir avec l'appareil comme n'importe quelle autre instance de shell de l'appareil. Par exemple, les workflows peuvent exécuter des commandes, analyser des sorties et modifier des états. Cet exemple plus complexe utilise la fonction run pour renvoyer l'utilisation actuelle de la CPU.

var workflow = {
       name: 'CPU utilization',
       description: 'Displays the current CPU utilization',
       execute: function () {
               run('analytics datasets select name=cpu.utilization');
               cpu = run('csv 1').split('\n')[1].split(',');
               return ('At ' + cpu[0] + ', utilization is ' + cpu[1] + '%');
       }
};