概述
启动命令在沙箱启动时自动执行,就绪命令用于检查沙箱是否完全就绪。
启动命令
启动命令会在模板沙箱首次启动时运行。这些命令会在模板构建期间执行,并在沙箱快照之前完成。
就绪命令
就绪命令用于检查沙箱是否完全就绪并可以使用。该命令会在无限循环中执行,直到返回退出码 0。这样可以确保用户在连接沙箱时,所有服务都已经完全启动。
使用方法
import { Template, waitForPort } from '@e2b/code-interpreter'
const template = Template()
.fromBaseImage()
.setStartCmd('python -m http.server 8000')
.setReadyCmd(waitForPort(8000))
// Or use custom ready check
const template2 = Template()
.fromBaseImage()
.setStartCmd('redis-server --daemonize yes')
.setReadyCmd('redis-cli ping')
// Or only ready command
const template3 = Template()
.fromBaseImage()
.setReadyCmd('curl http://localhost:3000')
就绪命令辅助函数
SDK 提供了常用的就绪检查辅助函数:
import {
Template,
waitForPort,
waitForProcess,
waitForFile,
waitForTimeout
} from '@e2b/code-interpreter'
const template = Template().fromBaseImage()
// Wait for port to be available
template.setReadyCmd(waitForPort(3000))
// Wait for process to be running
template.setReadyCmd(waitForProcess('node'))
// Wait for file to exist
template.setReadyCmd(waitForFile('/tmp/ready'))
// Wait for timeout
template.setReadyCmd(waitForTimeout(10_000)) // 10 seconds
文档反馈
(如有产品使用问题,请 提交工单)