全栈应用服务器

  • 全栈应用服务器 > 使用指南 > 沙箱服务概述 > 沙箱模板 > 启动命令和就绪命令

    启动命令和就绪命令

    最近更新时间: 2026-02-12 11:22:05

    概述

    启动命令在沙箱启动时自动执行,就绪命令用于检查沙箱是否完全就绪。

    启动命令

    启动命令会在模板沙箱首次启动时运行。这些命令会在模板构建期间执行,并在沙箱快照之前完成。

    就绪命令

    就绪命令用于检查沙箱是否完全就绪并可以使用。该命令会在无限循环中执行,直到返回退出码 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
    
    以上内容是否对您有帮助?