日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

多任務(wù)支持

更新時(shí)間:

說(shuō)明

可以使用 config 文件指定多個(gè)任務(wù)和依賴(lài)關(guān)系,然后使用下面的命令提交:

bcs sub --file job.cfg    # 文件名可以隨意定

1. 單個(gè)任務(wù)支持

job.cfg 內(nèi)容:

[taskname]
cmd=python test.py
job_name=demo
cluster=img=img-ubuntu:type=ecs.sn1.medium
description=test job
nodes=1
pack=./src/
read_mount=oss://bucket/input/:/home/input/
write_mount=oss://bucket/output/:/home/output/
  • 這個(gè)配置文件含有一個(gè)section: [taskname], 這個(gè)taskname將作為task名提交。

  • 除了cmd 和 job_name 外,其他的選項(xiàng), 都是通過(guò) bcs sub -h 看到的長(zhǎng)選項(xiàng)名稱(chēng), 等同于使用命令—${option}。

2. 多任務(wù)支持

說(shuō)明

config 文件也可以配置多個(gè)任務(wù),可以指定任務(wù)間依賴(lài)關(guān)系。

job.cfg 內(nèi)容:

[DEFAULT]
job_name=log-count
description=demo
force=True
deps=split->count;count->merge
#下面是任務(wù)公共配置
env=public_key:value,key2:value2
read_mount=oss://bucket/input/:/home/input/
write_mount=oss://bucket/output/:/home/output/
pack=./src/

[split]
cmd=python split.py
cluster=img=img-ubuntu:type=ecs.sn1.medium
nodes=1

[count]
cmd=python count.py
cluster=img=img-ubuntu:type=ecs.sn1.medium
nodes=3

[merge]
cmd=python merge.py
cluster=img=img-ubuntu:type=ecs.sn1.medium
nodes=1
  • [DEFAULT] section中指定job級(jí)別的配置, 其他section指定task配置, 其他section名為task名

  • 配置項(xiàng)優(yōu)先級(jí):直接在命令行中的—${option}; 優(yōu)先級(jí)最高,其次task section中指定的,最后是DEFAULT section中指定的。

  • env, read_mount, write_mount, mount 這4個(gè)配置項(xiàng), 可merge, 其他配置項(xiàng)遇到高優(yōu)先級(jí)直接被覆蓋

  • deps=split->count;count->merge 指定依賴(lài), split任務(wù)運(yùn)行完成后,再運(yùn)行count,count運(yùn)行完成后,再運(yùn)行merge.

  • cluster配置用的img和type,不同region支持是不一樣的,請(qǐng)根據(jù)當(dāng)前region具體情況設(shè)置。

(1) 關(guān)于deps

如果DAG如下:

DAG

則deps配置:

deps=split->count1,count2;count1->merge;count2->merge

每個(gè)dep是一對(duì)多的形式: task1->task2,taks3

多個(gè)task之間用逗號(hào)隔開(kāi),多個(gè)dep用分號(hào)隔開(kāi)。

(2) 關(guān)于 pack

./src/
   |-- split.py
   |-- ...
  • 如果指定目錄:pack=./src/, 則打包src下面的所有文件到 worker.tar.gz, 指定cmd時(shí),需要從 ./src/目錄下開(kāi)始指定,如:cmd=python split.py

  • 如果指定文件:pack=./src/split.py, 則只打包文件到worker.tar.gz, 指定cmd時(shí),只需要指定文件名, 如:cmd=python split.py

  • pack可以在[DEFAULT]這個(gè)section中配置,也可以在每個(gè)task中配置, 當(dāng)然也可以在命令行中指定。

(3) 關(guān)于 mount

read_mount 為只讀掛載,將OSS目錄掛載到運(yùn)行程序的虛擬機(jī)的文件系統(tǒng)中,linux可以掛載為一個(gè)目錄,window下只能掛載為一個(gè)Driver,如:”E:”。

如果掛載多個(gè),可以使用英文逗號(hào)隔開(kāi),如:read_mount=oss://bucket/input/:/home/input/,oss://bucket/input2/:/home/input2/。write_mount和mount也是如此。

write_mount 為可寫(xiě)掛載,將OSS目錄映射到運(yùn)行程序的虛擬機(jī)的目錄,只能映射為一個(gè)目錄,如果這個(gè)目錄不存在,需要程序創(chuàng)建一下。寫(xiě)入到這個(gè)目錄的所有文件將會(huì)被上傳到相應(yīng)的OSS目錄。

mount可以用于 NAS 的掛載,比如:

mount=nas://xxxxxx-yyy50.cn-shenzhen.nas.aliyuncs.com:/:/home/mnt/:true
vpc_id=vpc-xxxxxxxxxxyyyyyy
vpc_cidr_block=192.168.0.0/16
說(shuō)明

注意:使用 NAS 時(shí)要指定 vpc_id 和 cidr_block。

這里mount信息中的 true/false 指的是是否支持可寫(xiě)。

(4) 關(guān)于cluster

有2種格式:

AutoCluster格式:

cluster=img=<img-id>:type=<instance-type>

AutoCluster指定任務(wù)運(yùn)行時(shí)會(huì)自動(dòng)創(chuàng)建相應(yīng)配置的集群,運(yùn)行完成后自動(dòng)釋放掉。

Cluster格式:

cluster=<cluster-id>

運(yùn)行:bcs c 可以查看我的集群,如果沒(méi)有,可以自行創(chuàng)建。

如:

bcs cc <cluster-name> -i <img-id> -t <instance-type> -n 3
  • -n 3 表示期望啟動(dòng)3臺(tái)虛擬機(jī)來(lái)運(yùn)行程序

  • -i img-id 指定image ID

  • -t instance-type 指定實(shí)例類(lèi)型,可以使用 bcs it 查看可用的實(shí)例類(lèi)型

  • 其他選項(xiàng)可以使用 bcs cc -h 查看說(shuō)明。

使用集群可以大大縮短作業(yè)啟動(dòng)時(shí)間,但是由于集群是一直運(yùn)行著的,會(huì)一直計(jì)費(fèi),請(qǐng)自行權(quán)衡。

(5) 關(guān)于docker

格式如:

docker=myubuntu@oss://bucket/dockers/
  • 使用docker,需要支持docker的ImageId才能運(yùn)行成功。如果你沒(méi)有指定cluster,默認(rèn)的imageId是支持Docker的,或者你顯式指定也行,或者使用clusterId,但是這個(gè)cluster的ImageId也要支持docker才行。

  • 這里的myubuntu全名為:localhost:5000/myubuntu,制作docker鏡像的時(shí)候,前綴必須為localhost:5000/, 因此這里可以省略掉前綴。后面的OSS目錄,是OSS私有docker鏡像倉(cāng)庫(kù)目錄,詳情請(qǐng)看如何使用docker

(6) 關(guān)于nodes

nodes 表示指定使用多少臺(tái)虛擬機(jī)運(yùn)行任務(wù)程序。

(7) 關(guān)于force

force 為 True,表示如果某臺(tái)虛擬機(jī)運(yùn)行程序出錯(cuò),整個(gè)作業(yè)不會(huì)失敗,繼續(xù)運(yùn)行。為False,則整個(gè)作業(yè)失敗。默認(rèn)為False。