Allaksen käyttö eräajoissa
Allas-yhteyden avaava komento allas-conf avaa Allas-yhteyden, joka on voimassa kahdeksan tuntia.
Interaktiivisessa käytössä tämä kahdeksan tunnin rajoitus ei ole ongelmallinen, koska allas-conf voidaan
suorittaa uudelleen yhteyden voimassaolon pidentämiseksi.
Eräajoissa tilanne on erilainen, sillä eräajon suoritus voi kestää useita päiviä, ja joissakin tapauksissa voi kulua yli kahdeksan tuntia ennen kuin ajo edes alkaa. Näissä tapauksissa Allas-yhteys kannattaa avata komennolla:
Yllä oleva komento tulee suorittaa siinä komentotulkki-istunnossa, jota aiot käyttää eräajon käynnistämiseen. Komennossa valinta-k tarkoittaa, että allas-conf-komentoa varten annettu salasana tallennetaan
ympäristömuuttujaan $OS_PASSWORD. Kun tämä muuttuja on määritelty, salasanaa ei enää tarvitse
määritellä, kun suoritat allas-conf-komennon uudelleen käyttäen -k-valintaa ja Allas-projektin nimeä.
Voit määritellä projektin nimen joko suoraan:
Tai käyttää muuttujaa $OS_PROJECT_NAME, joka asetettiin, kun yhteys avattiin ensimmäisen kerran:
Yllä olevat kaksi komentoa muodostavat nyt Allas-yhteyden kahdeksaksi tunniksi ilman, että käyttäjältä kysytään mitään.
Huomaa, että jos kirjoitat salasanasi väärin käyttäessäsi -k-valintaa, sinun täytyy käyttää komentoa unset OS_PASSWORD-muuttujan nollaamiseen ennen kuin
voit yrittää uudelleen:
-f, jotta
ohitetaan tietyt sisäiset tarkistukset, jotka eivät ole yhteensopivia eräajojen kanssa.
Lisäksi allas-conf on vain source-komennon alias, joka lukee Allaksen asetusskriptin allas_conf.
Tämä aliaskomento ei ole käytettävissä eräajoissa, joten allas-conf-komennon sijaan täytyy käyttää komentoa:
Puhti:
Mahti:Kun siis olet avannut Allas-yhteyden komennoilla
voit lisätä yllä mainitut source-komennot eräajoskriptiisi varmistaaksesi, että Allas-yhteys on voimassa silloin kun sitä tarvitaan.- a-komentoihin* (a-put, a-get, a-list, a-delete) tämä ominaisuus sisältyy jo valmiiksi, joten asetuskäskyjä ei tarvitse lisätä
eräajoskriptiin, mutta sinun täytyy silti muistaa suorittaa
allas-conf -kennen ajon lähettämistä: Missä my_long_job.sh voisi näyttää tältä:
#!/bin/bash
#SBATCH --job-name=my_allas_job
#SBATCH --account=project_2012345
#SBATCH --time=48:00:00
#SBATCH --mem-per-cpu=1G
#SBATCH --partition=small
#SBATCH --output=allas_output_%j.txt
#SBATCH --error=allas_errors_%j.txt
#download data
a-get 178-data-bucket/dataset34/data2.txt.zst
#do the analysis
my_analysis_command -in dataset34/data2.txt -outdir results34
#upload results
a-put -b 178-data-bucket results34
Jos käytät rclonea tai swiftiä a-komentojen sijasta, sinun täytyy lisätä source-komennot skriptiisi. Tässä tapauksessa Puhtia varten eräajoskripti voisi näyttää tältä:
#!/bin/bash
#SBATCH --job-name=my_allas_job
#SBATCH --account=project_2012345
#SBATCH --time=48:00:00
#SBATCH --mem-per-cpu=1G
#SBATCH --partition=small
#SBATCH --output=allas_output_%j.txt
#SBATCH --error=allas_errors_%j.txt
#make sure connection to Allas is open
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME
#download input data
rclone copy allas:178-data-bucket/dataset34/data2.txt ./
#do the actual analysis
my_analysis_command -in dataset34/data2.txt -outdir results34
#make sure connection to Allas is open
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME
#upload results to allas
rclone copyto results34 allas:178-data-bucket/
source /appl/opt/csc-tools/allas-cli-utils/allas_conf komennon source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf sijasta kaikissa kohdissa, joissa sinun täytyy varmistaa, että yhteys on avoinna.