文档中心 批量计算 命令行工具 执行远程代码包

执行远程代码包

最近更新时间:2019-10-10 15:55:39

操作场景

Batch 支持以 HTTP 的方式从 .tgz 格式文件里获取代码包,用户可以将代码打包后上传到 COS 里,相比 LOCAL 模式可以更方便地组织代码。

前提条件

请根据 前置准备 里的说明完成准备,并了解如何配置自定义信息里的通用部分。

操作步骤

查看 Demo

说明:

请在 前置准备 中修改 2_RemoteCodePkg.py 文件自定义信息的通用部分。

使用编辑器打开 2_RemoteCodePkg.py 文件。

# custom (Change to your info)
imageId = "img-m4q71qnf"
Application = {
    "DeliveryForm": "PACKAGE",
    "Command": "python ./codepkg/fib.py",
    "PackagePath": "http://batchdemo-xxxxxxxxx.cos.ap-guangzhou.myqcloud.com/codepkg/codepkg.tgz"
}
StdoutRedirectPath = "your cos path"
StderrRedirectPath = "your cos path"

自定义部分除 Application 以外,都已在前置准备中说明, Application 中配置请参考下表:

配置项 描述
DeliveryForm 应用程序的交付方式,包括软件打包、容器镜像、CVM 内部直接运行三种,这里 PACKAGE 代表的是软件打包的方式。
PackagePath 软件包的地址,HTTP 方式提供,必须是 .tgz 格式。Batch 会将这个软件包下载到被调度的 CVM 某个目录下,然后在该目录执行 Command。
Command 任务启动命令,这里直接调用了软件包里的一个 Python 脚本文件,您可以下载软件包并查看里面的文件结构和内容。

fib.py 的内容如下

fib = lambda n:1 if n<=2 else fib(n-1)+fib(n-2)
print("Remote Code Package : %d"%(fib(20)))

提交作业

执行以下命令,执行 Python 脚本。
Demo 中已经通过 Python 脚本 + Batch 命令行工具的形式封装了提交作业流程。

python 2_RemoteCodePkg.py

返回结果如下所示,则表示提交成功。

{
    "RequestId": "c09e9291-2661-xxxx-8783-72d36f91ec8a", 
    "JobId": "job-7xxxx26l"
}

若未提交成功,请检查返回值排查错误,也可以通过 联系我们 中的 QQ 群向管理员咨询。

查看状态

步骤同简单开始中的 查看状态

查看结果

  1. 步骤同简单开始中的 查看结果
  2. 2_RemoteCodePkg.py 的执行结果如下:
    Remote Code Package : 6765