
# gcs create execution
#### 功能
创建execution。
#### 语法
**gcs create execution** WORKFLOWID \[params\]
execution可以简写为exec，即：
**gcs create exec** WORKFLOWID \[params\]
#### 参数说明
表1参数说明 
| 参数名称       | 是否必选 | 简写  | 描述                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| WORKFLOWID | 是    | 不涉及 | 待创建execution的workflow id。                                                                                                                                                                                                                                                                              |
| --input    | 否    | -i  | 用于创建execution的本地input.json文件路径，默认为空。                                                                                                                                                                                                                                                                   |
| --name     | 否    | -n  | execution名称，输入字符最大长度为64字节，以小写字母开头，允许出现中划线(-)、数字和小写字母，且必须以小写字母或数字结尾。                                                                                                                                                                                                                                    |
| --batch    | 否    | -b  | 批量创建数量数量，如果batch 有定义具体数值且大于0 ,按照batch值进行创建,如果input长度小于batch 定义的数量，余下的execution则默认使用最后一个输入input文件，如果batch 为0,则取input中文件数量 为批量创建的数量,--input xx1,xx2,xx3,xx4，批量创建模式下,不支持自定义name,--name会变为前缀，比如--name test 则批量创建的execution名称为 ,name-execution-\[1,2,3,4\]，如果input 为空或者仅包含一个文件, 且batch未指定，则认为单任务创建，否则为批量创建。 |
| --timeout  | 否    | -t  | execution超时时间单位分钟，默认一天，1440分钟。                                                                                                                                                                                                                                                                         |
| --email    | 否    | -e  | 订阅通知消息的邮件地址，可以是多个，用逗号隔开。                                                                                                                                                                                                                                                                               |
| --sms      | 否    | -s  | 订阅通知消息的短信号码，可以是多个，用逗号隔开。                                                                                                                                                                                                                                                                               |
| --events   | 否    | -v  | 订阅通知消息的类型，exec_failed或者exec_succeeded，同时订阅用逗号隔开，默认是两个类型都订阅。                                                                                                                                                                                                                                            |
| --policy   | 否    | -p  | 镜像拉取策略参数，参数值可以是Always、Never和IfNotPresent，默认值是IfNotPresent。                                                                                                                                                                                                                                             |
| --retry    | 否    | -r  | 任务重试次数。参数值必须是0\~9的整数。                                                                                                                                                                                                                                                                                  |
   
#### 注意事项
- 该命令的输入参数是 workflowID，可以通过 gcs get worflowID 查询后，根据name/version获取。
- 目前创建完成后，Running状态只代表命令发给了集群，不代表程序已经开始。需要使用 kubectl 命令具体确认任务状态。
- input 文件是 json 格式，**定义的变量值，需要与 流程模板中定义的 inputs 字段一一对应**。
 
#### 使用示例
创建execution:
```
# 获取模板 ID
gcs get workflow
workflow_id                           name        domain         last_update 
xxxxxx                                xxxx        xxxx           xxxx
xxxxxx                                xxxx        xxxx           xxxx
xxxxxx                                xxxx        xxxx           xxxx
330f6533-9024-3a11-ae94-a40f3d96d158  rep-demo    gcs-develper   2018-08-25 09:35:33
xxxxxx                                xxxx        xxxx           xxxx
xxxxxx                                xxxx        xxxx           xxxx
# 更换输入参数
cat run.json
{
 "GCS_DATA_PVC": "gene-pvc-gene-container-test",
 "GCS_REF_PVC" : "gene-pvc-gcs-ref-southchina",
 "GCS_SFS_PVC" : "gene-sfs-1111",
 "cpu"         : 1,
 "job-script"  : "run_work.sh",
 "memory"      : "0.5g",
 "shell"       : "sh"
}
# 使用新参数执行模板
gcs create execution 330f6533-9024-3a11-ae94-a40f3d96d158 --input run.json
```
示例执行结果：
```
create execution succeed
execution [0] : gcs-execution-2018-1007-145643 succeed 
{
  "id": "573dcd38-c9fe-11e8-b18c-0255ac10a104"
}
batch create executions finish
```
