Bases de la CLI de redimensionnement 1.0X

Syntaxe de soumission de base

Avec votre jeton API et votre copie locale de l'application, une tâche peut être soumise à l'aide de la commande suivante :

    java -jar /usr/local/bin/rescale.jar submit -p  -i 

Pour les utilisateurs d'autres plateformes (KR, JP, EU), veuillez vous référer à FAQ CLI pour un indicateur supplémentaire requis lors de l’utilisation de Rescale CLI. Le contient les commandes que l'utilisateur peut souhaiter exécuter sur Rescale. Cela peut être n'importe quel genre de .sh script shell qui peut être exécuté à partir de la ligne de commande à l'aide du ./ préfixe. Quel que soit le type de script, l'application tentera de l'analyser pour minimiser les problèmes accidentels liés à la configuration de l'environnement et aux commandes non prises en charge. Le -p L'indicateur est utilisé pour lire le jeton API Rescale que vous avez créé comme indiqué ici.


Simplification des commandes CLI

Vous pouvez simplifier les commandes Rescale en créant des scripts wrapper. Vous pouvez également définir la variable d'environnement RESCALE_API_KEY (2) ou créer un profil dans le fichier de configuration (3) pour omettre -p à partir des commandes CLI Rescale. Ces étapes supplémentaires aideront l'utilisateur à simplifier et à utiliser facilement les commandes Rescale CLI.

En particulier, la création d'un simple script wrapper réduira certaines sources potentielles d'erreur lors de la soumission d'un travail.

Voici un exemple de contenu d'un script wrapper bash :

#!/bin/bash java -jar /usr/local/bin/rescale.jar submit -p -E -i $1

Remplacez le <api-token> avec la chaîne de hachage de votre Jeton de clé API. Le script suppose également que l'application Rescale CLI (rescale.jar) se trouve dans /usr/local/bin, alors modifiez en conséquence. Parce que le script contiendra votre privé <api-token> valeur, elle doit être stockée dans un répertoire de votre $PATH avec des autorisations limitées telles que /usr/local/bin. Assurez-vous également que le script dispose des autorisations appropriées pour pouvoir être exécuté :

chmod +x /usr/local/bin/rescale-submit

Pour utiliser les commandes CLI Rescale, la clé API Rescale doit être utilisée à chaque fois. Étant donné que la clé API est une longue combinaison de lettres, il sera utile de créer une variable d'environnement et de l'enregistrer dans votre profil afin que vous puissiez facilement utiliser la variable API plutôt que la clé réelle à chaque fois que vous utilisez les commandes. Vous pouvez suivre ces étapes pour créer la variable d'environnement -

  • Sur votre terminal, tapez soit vi ~/.bashrc OR vi ~/.bash_profile et appuyez sur ENTRÉE.
  • Cela ouvre un éditeur de terminal dans lequel vous pouvez taper ce qui suit : bash export RESCALE_API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  • Une fois que vous avez fini de taper, appuyez d'abord sur ESC, puis tapez :wq pour enregistrer les modifications.
  • Vous pouvez tester la variable en affichant la variable en utilisant echo $RESCALE_API_KEY. Cela affichera la clé API Rescale sur le terminal.

Par défaut, la CLI recherchera le fichier de profil dans ~/.config/rescale/apiconfig. Créez le fichier (vi ~/.config/rescale/apiconfig), et ajoutez le contenu suivant :

[par défaut]apikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

La CLI utilisera le [default] profil par défaut. Un profil nommé différent peut être spécifié en utilisant le --profile argument de ligne de commande. Il est également possible d'utiliser un chemin de fichier de configuration différent en définissant le RESCALE_CONFIG_FILE variable d'environnement sur le chemin souhaité.

Si un utilisateur utilise plusieurs profils pour différentes plates-formes, il doit spécifier l'URL de ces plates-formes dans l'apiconfig comme suit :

[par défaut]apibaseurl = https://platform.rescale.comapikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[eu]apibaseurl = https://eu.rescale.comapikey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Soumettre un travail de test – Bonjour tout le monde !

Regardons un exemple très simple. Encore une fois, cet exemple suppose que vous avez configuré un script wrapper appelé rescale-submit montré ci-dessus.

Pour lancer un « Hello World ! » travail, à partir d'un terminal shell (comme sous Linux, MacOS ou Cygwin), créez un nouveau répertoire d'exécution. A l'aide de l'éditeur de texte de votre choix, créez un submit.sh script de soumission d'entrée contenant :

À noter: Lors de la copie du script ci-dessus, assurez-vous qu'il n'y a pas d'espace après chaque variable d'environnement.

Soumettez le travail :

rescale-submit soumettre.sh

Cela créera un nouveau grappe et soumettez les travaux avec les commandes du script. L'utilisateur peut désormais se connecter à l'interface utilisateur Web de Rescale pour suivre et surveiller le travail. La liste des tâches affichera la tâche comme : "Bonjour le monde"

Travail soumis

La page d'état affichera la progression du travail et les fichiers peuvent être suivis depuis l'interface utilisateur en cliquant sur le fichier :

Suivi en direct

Le journal ressemblera à ceci :

Running SGE version of Rescale Client App
Executing Command.
Parsing Input Files
No existing files to include
Found Analysis: user_included
No project with the specified name was found: null
Zipping Files
Creating temporary encrypted zip at /Users/rescale/helloworld/input.zip
Finished writing encrypted file
Uploading Files
Uploading: /Users/rescale/helloworld/run.sh
Uploading run.sh:
##############################| 288B / 288B
Uploading: /Users/rescale/helloworld/input.
Uploading input.zip:
##############################| 83.08KB / 83.08KB
Job: Saving Job
Job qMCOdb: Saved
Job qMCOdb: Submitting
Job qMCOdb: Starting polling cycle
Job qMCOdb: Status - Validated
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Executing
Job qMCOdb: Status - Completed
Job qMCOdb: Finished...
Job qMCOdb: Downloading files to output/
Downloading output/submit.sh
Downloading output/run.sh
Downloading output/process_output.log
Downloading output/inputs/file2
Downloading output/inputs/file1
Downloading output/hello_world
Downloading output/file0
.
.
.
Finished downloading files.