metadata 字段配置。键为 idle_timeout,值为以字符串表示的秒数。
基础用法
from ppio_sandbox import PPIO
ppio = PPIO()
# 创建一个闲置 60 秒后自动终止的 Sandbox。
sandbox = ppio.sandbox.create(
metadata={
'idle_timeout': '60',
},
)
# Sandbox 正在运行...
import { PPIO } from 'ppio-sandbox'
const ppio = new PPIO()
// 创建一个闲置 60 秒后自动终止的 Sandbox。
const sandbox = await ppio.sandbox.create({
metadata: {
idle_timeout: '60',
},
})
// Sandbox 正在运行...
# 创建一个闲置 60 秒后自动终止的 Sandbox(分离模式)。
# --idle-timeout 会以 idle_timeout 键写入 metadata。
ppio sandbox create base --idle-timeout 60 -d
暂停而非终止
如果你希望 Sandbox 被暂停以便之后恢复,可以启用自动暂停选项。from ppio_sandbox import PPIO
ppio = PPIO()
sandbox = ppio.sandbox.create(
metadata={
'idle_timeout': '60',
},
auto_pause=True,
)
# 闲置 60 秒后,Sandbox 将被暂停。
import { PPIO } from 'ppio-sandbox'
const ppio = new PPIO()
const sandbox = await ppio.sandbox.create({
metadata: {
idle_timeout: '60',
},
autoPause: true,
})
// 闲置 60 秒后,Sandbox 将被暂停。
# 创建闲置 60 秒后自动暂停(而非终止)的 Sandbox。
# --on-timeout pause 等效于 SDK 的 auto_pause 选项。
ppio sandbox create base --idle-timeout 60 --on-timeout pause -d
与其他元数据组合使用
idle_timeout 元数据键可以与你已在使用的其他元数据键组合使用。
from ppio_sandbox import PPIO
ppio = PPIO()
sandbox = ppio.sandbox.create(
metadata={
'idle_timeout': '120',
'env': 'production',
'user_id': 'user-123',
},
)
print('Sandbox ID:', sandbox.sandbox_id)
import { PPIO } from 'ppio-sandbox'
const ppio = new PPIO()
const sandbox = await ppio.sandbox.create({
metadata: {
idle_timeout: '120',
env: 'production',
userId: 'user-123',
},
})
console.log('Sandbox ID:', sandbox.sandboxId)
# --idle-timeout 可以与其他 --metadata 键组合使用
ppio sandbox create base --idle-timeout 120 \
--metadata env=production \
--metadata user_id=user-123 \
-d
禁用空闲超时
若要为 Sandbox 显式禁用空闲超时,只需在 metadata 中省略idle_timeout 键,或将其设为 0。
from ppio_sandbox import PPIO
ppio = PPIO()
# 无空闲超时 —— Sandbox 将运行至其最长存活时间。
sandbox = ppio.sandbox.create(
metadata={
'idle_timeout': '0',
},
)
# 或者,完全省略 idle_timeout。
sandbox2 = ppio.sandbox.create()
import { PPIO } from 'ppio-sandbox'
const ppio = new PPIO()
// 无空闲超时 —— Sandbox 将运行至其最长存活时间。
const sandbox = await ppio.sandbox.create({
metadata: {
idle_timeout: '0',
},
})
// 或者,完全省略 idle_timeout。
const sandbox2 = await ppio.sandbox.create()
# 无空闲超时 —— Sandbox 将运行至其最长存活时间。
ppio sandbox create base --idle-timeout 0 -d
# 或者,完全省略 --idle-timeout。
ppio sandbox create base -d