Allaksen käyttö eräajoissa
Allas-yhteyden avaava allas-conf
-komento tarjoaa kahdeksan tunnin voimassa olevan yhteyden. 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 kuitenkin erilainen, sillä eräajon suorittaminen voi kestää useita päiviä, ja joissakin tapauksissa saattaa kestää yli kahdeksan tuntia ennen kuin työ edes alkaa. Näissä tapauksissa Allas-yhteys tulisi avata komennolla:
Yllä oleva komento tulisi suorittaa siinä shell-istunnossa, jota aiot käyttää eräajon käynnistämiseen. Komennossa valinta-k
tarkoittaa, että allas-conf varten syötetty salasana tallennetaan ympäristömuuttujaan $OS_PASSWORD
. Tämän muuttujan ollessa määritettynä ei salasanaa tarvitse määritellä uudelleen suoritettaessa allas-conf uudelleen -k valinnalla ja Allakseen liittyvällä projektinimellä. Projektinimen voi määritellä joko eksplisiittisesti:
Tai käyttää muuttujaa $OS_PROJECT_NAME, joka määritettiin, kun yhteys avattiin ensimmäisen kerran:
Yllä olevat kaksi komentoa luovat nyt Allas-yhteyden kahdeksaksi tunniksi ilman käyttäjän kehotepyyntöjä.
Huomaa, että jos kirjoitat salasanasi väärin käytettäessä -k valintaa, sinun on käytettävä unset
komentoa OS_PASSWORD muuttujan nollaamiseksi ennen kuin voit yrittää uudelleen:
-f
valinta komentoon tiettyjen sisäisten tarkastusten ohittamiseksi, jotka eivät ole yhteensopivia eräajojen kanssa. Lisäksi allas-conf on vain aliaksena olevalle source-komennolle, joka lukee Allas-konfiguraatioskriptiä allas_conf
. Tämä aliaskomento ei ole käytettävissä eräajoissa, joten allas-conf:n sijasta sinun on käytettävä komentoa:
Puhti:
Mahti:Näin ollen, kun avaat Allas-yhteyden komennolla
Voit lisätä yllä mainitut source-komennot eräajosi skriptiin varmistaaksesi, että Allas-yhteys on voimassa tarvittaessa.A-komentoihin (a-put, a-get, a-list, a-delete) tämä ominaisuus on sisällytetty, joten konfiguraatiokomentoja ei tarvitse lisätä eräsuoritusskriptiin, mutta on silti muistettava suorittaa allas-conf -k
ennen työn lähettämistä:
#!/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
#lataa data
a-get 178-data-bucket/dataset34/data2.txt.zst
#tee analyysi
my_analysis_command -in dataset34/data2.txt -outdir results34
#lataa tulokset
a-put -b 178-data-bucket results34
Jos käytät rclone tai swift a-komentojen sijasta, sinun on lisättävä source-komennot skriptiisi. Tällöin eräajon skripti Puhtissa 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
#varmista, että yhteys Allakseen on auki
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME
#lataa syötteet
rclone copy allas:178-data-bucket/dataset34/data2.txt ./
#tee varsinainen analyysi
my_analysis_command -in dataset34/data2.txt -outdir results34
#varmista, että yhteys Allakseen on auki
source /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf -f -k $OS_PROJECT_NAME
#palauta tulokset allakseen
rclone copyto results34 allas:178-data-bucket/
/appl/opt/csc-tools/allas-cli-utils/allas_conf
sen sijaan, että käyttäisit /appl/opt/csc-cli-utils/allas-cli-utils/allas_conf
kaikissa paikoissa, joissa sinun on varmistettava yhteyden avautuminen.