You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Databricks Notebook运行10分钟后自动停止?

让Databricks Notebook运行10分钟后自动停止的方法

方法一:在Notebook里嵌入Python定时器代码

直接在Notebook中添加监控逻辑,到点自动终止执行,适合单个Notebook的个性化设置:

  • 示例代码(可放在Notebook最开头):
import time
import threading
from databricks.sdk import WorkspaceClient
import os

# 设置超时时间:10分钟=600秒
TIMEOUT_SECONDS = 600

def stop_notebook():
    print("运行时长超10分钟,自动终止Notebook...")
    # 获取当前Notebook的运行ID
    notebook_ctx = dbutils.notebook.entry_point.getDbutils().notebook().getContext()
    run_id = notebook_ctx.currentRunId().get()
    # 初始化Workspace客户端并终止运行
    w = WorkspaceClient(host=os.environ["DATABRICKS_HOST"], token=os.environ["DATABRICKS_TOKEN"])
    w.jobs.cancel_run(run_id=run_id)

# 启动定时器
timer = threading.Timer(TIMEOUT_SECONDS, stop_notebook)
timer.start()

# 这里编写你的核心业务代码
# ...

# 如果业务代码提前执行完成,取消定时器
timer.cancel()
  • 注意:需确保当前Notebook具备调用Jobs API的权限,部分环境中dbutils可直接获取上下文,无需手动配置令牌和主机地址,可根据实际情况调整代码。

方法二:通过Databricks作业配置超时

若将Notebook作为作业运行,直接在作业设置里配置超时更省心:

  • 操作步骤:
    1. 打开Databricks工作区的Jobs页面,新建或编辑目标作业
    2. 进入任务配置的Advanced(高级)选项,找到Timeout(超时)设置
    3. 将超时时间设为10分钟(600秒),保存配置即可
  • 这种方式无需修改Notebook代码,作业运行超时时Databricks会自动终止任务。

方法三:集群级全局超时设置(适合共享集群)

如果使用共享集群,想给所有在该集群上运行的Notebook统一设置超时,可修改集群配置:

  • 操作步骤:
    1. 进入集群配置页面,找到Spark选项卡下的Spark config(Spark配置)
    2. 添加以下两行配置:
      spark.databricks.driver.timeout 600s
      spark.databricks.executor.timeout 600s
      
  • 注意:该设置会对集群上所有任务生效,若仅需限制单个Notebook,优先使用前两种方法。

内容的提问来源于stack exchange,提问作者bigdata techie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:40:08