Ignorer les liens de navigation | |
Quitter la vue de l'impression | |
Guide d'administration des systèmes Oracle® ZFS Storage Appliance, version 2013.1.3.0 |
A propos d'Oracle ZFS Storage Appliance
Configuration d'Oracle ZFS Storage Appliance
Maintenance d'Oracle ZFS Storage Appliance
Présentation des paramètres de workflow
Paramètres de workflow restreints
Paramètres de workflow facultatifs
Validation des entrées des workflows
Audits et rapports sur l'exécution des workflows
Présentation de la gestion des versions des workflows
Utilisation des workflows pour les actions d'alerte
Utilisation de workflows programmés
Utilisation d'un workflow programmé
Codage des calendriers de workflow
Création d'une feuille de travail à partir d'un type de lecteur donné
Téléchargement de workflows à l'aide de la BUI
Téléchargement de workflows à l'aide de la CLI
Création d'une liste de workflows à l'aide de la CLI
Si une erreur se produit lors de l'exécution d'un workflow, une exception est levée. Si l'exception n'est pas interceptée par le workflow lui-même (ou si le workflow lève une exception non interceptée par ailleurs), le workflow échoue et les informations relatives à l'exception sont affichées à la vue de l'utilisateur. Pour permettre une gestion correcte des erreurs, les exceptions doivent être interceptées et traitées. Dans l'exemple qui précède par exemple, une tentative de créer un partage dans un projet inexistant se solde par une exception non interceptée.
Exemple 4-5 Gestion des erreurs des workflowsCet exemple peut être modifié de manière à intercepter l'erreur et à créer le projet, dans l'hypothèse où il n'existe pas :
var workflow = { name: 'Create share', description: 'Creates a new share in a business unit', parameters: { name: { label: 'Name of new share', type: 'String' }, unit: { label: 'Business unit', type: 'ChooseOne', options: [ 'development', 'finance', 'qa', 'sales' ], optionlabels: [ 'Development', 'Finance', 'Quality Assurance', 'Sales/Administrative' ], } }, execute: function (params) { try { run('shares select ' + params.unit); } catch (err) { if (err.code != EAKSH_ENTITY_BADSELECT) throw (err); /* * We haven't yet created a project that corresponds to * this business unit; create it now. */ run('shares project ' + params.unit); run('commit'); run('shares select ' + params.unit); } run('filesystem ' + params.name); run('commit'); return ('Created new share "' + params.name + '"'); } };