执行远程代码包

最近更新时间:2024-01-13 11:25:51

我的收藏

操作场景

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