Partager via


Le travail de déchargement HPC Pack Excel est bloqué

Cet article explique comment résoudre un travail de déchargement Microsoft HPC Pack Excel qui est bloqué afin que vous puissiez utiliser correctement un classeur binaire Excel (.xlsb) pour exécuter un travail dans un cluster De calcul haute performance (HPC) Azure.

Symptômes

Un exemple de travail de déchargement Excel HPC Pack est bloqué pendant son exécution, et Excel signale des erreurs liées à la session. Le rapport ressemble au texte d’erreur suivant :

System.IO.IOException : contenu illisible trouvé dans le classeur. Vérifiez que <filename.xlsb> peut être ouvert manuellement. -->

System.Runtime.InteropServices.COMException : Exception de HRESULT : 0x800A03EC

sur Microsoft.Office.Interop.Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format, Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin, Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)

sur Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbookInternal(String filePath, Boolean updateLinks, Boolean enableMacros, String password, String writeResPassword, Nullable'1 lastSaveDate)

sur Microsoft.Hpc.Excel.ExcelDriver.OpenWorkbook(String filePath, Boolean updateLinks, String password, String writeResPassword, Nullable'1 lastSaveDate)

--- Fin du --- de trace de la pile d’exceptions interne

Cause

Vous n’exécutez pas de classeur Excel dans une session interactive utilisateur sur des nœuds de calcul.

Solution

Définissez la propriété d’environnement de travail correcte dans un fichier d’inscription de service Excel. Utilisez la variable d’environnement HPC_ATTACHTOSESSION ou HPC_CREATECONSOLE. Cela permet aux hôtes de service de s’exécuter dans une console ou une session interactive utilisateur. Sur le nœud principal, le fichier d’inscription du service Excel se trouve dans le dossier %CCP_HOME%ServiceRegistration dans un fichier nommé Microsoft.Hpc.Excel.ExcelService_<version>.config.

Pour utiliser HPC_ATTACHTOSESSION, créez une session RDP (Remote Desktop Protocol) pour le même utilisateur RunAs sur les nœuds de calcul. Pour utiliser HPC_CREATECONSOLE, configurez les nœuds de calcul à l’aide de clés de Registre, puis redémarrez les nœuds avant d’exécuter le travail.

Nous vous recommandons d’utiliser le mode d’exécution de la console dans la plupart des scénarios. Cela est particulièrement vrai si aucune action interactive n’est nécessaire pendant l’exécution du travail. Le mode d’exécution de la console vous permet également d’économiser l’effort manuel de configuration RDP après le redémarrage d’un nœud. Pour plus d’informations sur les configurations détaillées des nœuds, consultez Exécuter des commandes sur les nœuds de calcul pour activer la fonctionnalité de création de console.

Contexte

En règle générale, vous pouvez utiliser deux modes pour exécuter un travail de déchargement Excel. Ces modes vous permettent d’exécuter votre travail dans une console ou dans une session Bureau à distance.

  • HPC_CREATECONSOLE : la spécification de cette variable entraîne la création automatique d’une session de console au démarrage du travail. Vous pouvez définir cette variable sur l’une des valeurs suivantes.

    Valeur Effet
    True Le service HPC Node Manager tente de créer une session de console à l’aide des informations d’identification du propriétaire du travail. Un seul utilisateur par nœud peut avoir une session de console. Si le travail réussit, il s’exécute dans la session de console. Si la session de console ne peut pas être créée, le travail échoue. Node Manager ferme la session de console à la fin du travail.
    Keep Une nouvelle session de console de connexion est créée s’il n’en existe aucune. Sinon, le service HPC Node Manager attache le travail à la session de console existante, et cette session de console n’est pas fermée une fois le travail terminé sur les nœuds de calcul.
  • HPC_ATTACHTOSESSION : la spécification de cette variable démarre un travail dans une session Bureau à distance existante. Ce scénario est utile si les deux conditions suivantes sont remplies :

    • Vous disposez d’un programme interactif que vous souhaitez connecter à la session.
    • Vous souhaitez afficher le programme à distance pendant qu’il est en cours d’exécution.

    Vous pouvez définir cette variable sur l’une des valeurs suivantes.

    Valeur Effet
    True Le service HPC Job Scheduler tente de démarrer le travail dans une session Bureau à distance. S’il existe une connexion Bureau à distance détenue par l’utilisateur qui a envoyé le travail, le travail démarre. Si le propriétaire du travail ne possède pas de session Bureau à distance, le travail échoue. Vous pouvez exécuter la commande qwinsta à une invite de commandes pour afficher la liste des sessions actuellement actives sur votre serveur.
    Try Le travail tente d’attacher la session et s’exécute même si elle ne peut pas l’attacher à la session.

Les variables d’environnement de travail ne sont pas définies automatiquement. Par conséquent, vous devez les définir dans le fichier d’inscription du service Excel. Pour plus d’informations sur les modes d’exécution de déchargement, consultez Variables d’environnement de travail ou de tâche pour les sessions console ou Bureau à distance.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.