日本阿v片在线播放免费,成人国产片视频在线观看,日韩黄片毛片在线观看,一区亚洲电影,琪琪秋霞午夜av影视在线,中文字幕在线视频不卡,最新大伊香蕉精品视频在线,亚洲AV无码日韩一区二区乱

      國(guó)內(nèi) Linux 集群服務(wù)器網(wǎng)絡(luò)差無(wú)法 Git Clone 大項(xiàng)目的解決辦法

      2023-12-27    前端達(dá)人

      GitHub 是一個(gè)軟件源代碼托管服務(wù)平臺(tái),Linux 上使用的大部分工具都可以在上面獲得。

      但是由于 GitHub 的服務(wù)器在國(guó)外,國(guó)內(nèi)訪問(wèn)經(jīng)常出現(xiàn)網(wǎng)絡(luò)問(wèn)題導(dǎo)致訪問(wèn)失敗,尤其是使用 git clone 對(duì) repo 進(jìn)行克隆的時(shí)候,會(huì)經(jīng)常出現(xiàn)因網(wǎng)絡(luò)問(wèn)題而克隆失敗。

      Linux 集群服務(wù)器的用戶,在比較難實(shí)現(xiàn)科學(xué)上網(wǎng)的前提下,對(duì)大型 repo 克隆的任務(wù)顯得尤為困難,而且想使用 gradle build 的話,git clone 似乎是唯一選擇。

      既然 git clone 一兩次不成功,那我就想辦法讓他 clone 到成功為止,于是我就寫了一個(gè)循環(huán)腳本,將它投遞到計(jì)算節(jié)點(diǎn)上 24h 運(yùn)行,直到它克隆成功才結(jié)束任務(wù)。

      以克隆 GATK (repo 大小約 300mb)為例,腳本如下:

      #!/bin/bash
      #SBATCH --job-name=GitClone        #任務(wù)名稱
      #SBATCH --nodelist=litchi-0-1    #計(jì)算節(jié)點(diǎn)名稱
      #SBATCH --partition=WHEEL        #使用 WHEEL 用戶組
      #SBATCH --nodes=1                #使用計(jì)算節(jié)點(diǎn)數(shù)量
      #SBATCH --ntasks=1                #使用 1 個(gè)線程
      #SBATCH --mail-type=end            #任務(wù)結(jié)束時(shí)發(fā)送郵件
      #SBATCH --mail-user=***@qq.com  #郵箱地址
      #SBATCH --output=/home/$USER/Slurm_JobLogs/JobLog_%j_%x.log        #標(biāo)準(zhǔn)輸出保存路徑
      #SBATCH --error=/home/$USER/Slurm_JobLogs/JobLog_%j_%x.err        #標(biāo)準(zhǔn)錯(cuò)誤保存路徑
      #------------------------------------------------------------
      # PRINT JOB'S INFORMATION
        source /home/$USER/.bashrc
        threads=$SLURM_NTASKS
        echo "## Job:[$SLURM_JOB_NAME]"
        echo "## Node:[$SLURM_NODELIST]"
        echo "## CPUs:[$SLURM_NTASKS]"
        echo "## Mem:[$SLURM_MEM_PER_NODE]"
        echo `date`
        echo -e $(printf -- "-%.0s" {1..100})"\n" #cut-off-line
      #------------------------------------------------------------
      # PATH
        repo_url="https://github.com/broadinstitute/gatk.git"
        repo_name="gatk"
      #------------------------------------------------------------
      # SHELL
        cd /home/$USER/Accessories/Softwares
        while true; do                #循環(huán)執(zhí)行任務(wù)
          git clone $repo_url            #執(zhí)行 git clone
          if [ $? -eq 0 ]; then        #如果以上命令的退出碼等于 0 (任務(wù)成功)
            echo "Git clone successful!"
            break                        #則退出循環(huán)
          else                        #如果命令的退出碼不等于 0 (任務(wù)失敗)
            echo "Git clone failed:( Retrying..."
            rm -rf ./${repo_name}        #則刪除這個(gè)repo
            sleep 1                    #睡眠 1 秒緩沖一下繼續(xù)循環(huán)
          fi
        done
      #------------------------------------------------------------
      # JOB ENDS
        echo -e $(printf -- "-%.0s" {1..100}) #cut-off-line
        echo "## Runtime:[`sacct -j $SLURM_JOB_ID --format=Elapsed --noheader | awk '{print $1}' | sed -n '2p'`]"
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42

      這個(gè)腳本的路徑為 ~/Scripts/GitClone_GATK.sh

      將任務(wù)投遞到計(jì)算節(jié)點(diǎn)運(yùn)行:

      sbatch ~/Scripts/GitClone_GATK.sh
      
      • 1

      最終,這個(gè)任務(wù)運(yùn)行了 40 次,歷時(shí) 13h,終于是克隆成功了!

      藍(lán)藍(lán)設(shè)計(jì)(m.jjddy.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(nèi)外企業(yè)提供卓越的大數(shù)據(jù)可視化界面設(shè)計(jì)B端界面設(shè)計(jì)桌面端界面設(shè)計(jì)APP界面設(shè)計(jì)圖標(biāo)定制用戶體驗(yàn)設(shè)計(jì)交互設(shè)計(jì)UI咨詢高端網(wǎng)站設(shè)計(jì)平面設(shè)計(jì),以及相關(guān)的軟件開(kāi)發(fā)服務(wù),咨詢電話:01063334945。

      關(guān)鍵詞:UI咨詢UI設(shè)計(jì)服務(wù)公司軟件界面設(shè)計(jì)公司、界面設(shè)計(jì)公司、UI設(shè)計(jì)公司UI交互設(shè)計(jì)公司數(shù)據(jù)可視化設(shè)計(jì)公司用戶體驗(yàn)公司高端網(wǎng)站設(shè)計(jì)公司

      銀行金融軟件UI界面設(shè)計(jì)能源及監(jiān)控軟件UI界面設(shè)計(jì)氣象行業(yè)UI界面設(shè)計(jì)軌道交通界面設(shè)計(jì)地理信息系統(tǒng)GIS UI界面設(shè)計(jì)航天軍工軟件UI界面設(shè)計(jì)醫(yī)療行業(yè)軟件UI界面設(shè)計(jì)教育行業(yè)軟件UI界面設(shè)計(jì)企業(yè)信息化UI界面設(shè)計(jì)、軟件qt開(kāi)發(fā)軟件wpf開(kāi)發(fā)軟件vue開(kāi)發(fā)

      日歷

      鏈接

      個(gè)人資料

      存檔