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

如何在Taipy Core任务中实现无需手动try/catch的延迟重试模式

Taipy任务API重试模式实现

无需自行编写try/catch代码,Taipy内置了任务重试机制,直接通过配置参数即可启用;同时支持设置重试前的等待时间,具体实现如下:

关键配置说明

在Config.configure_task()中添加两个核心参数:

  • retry: 任务失败后的最大重试次数(如设为3则最多重试3次)
  • retry_wait: 每次重试前的等待时长,单位为秒(如设为2则等待2秒后重试)

修改后的代码示例

import requests
from taipy import Config
import taipy as tp


def api():
    r = requests.get('<url>')
    r.raise_for_status()  # 触发HTTP错误异常,让Taipy捕获并触发重试
    return r.json()


scc = Config.configure_scenario_from_tasks(
    "sc",
    [Config.configure_task(
        "api_call",
        api,
        [],
        [Config.configure_data_node("api_result")],
        retry=3,  # 最多重试3次
        retry_wait=2  # 重试前等待2秒
    )]
)

if __name__ == '__main__':
    tp.Core().run()
    scenario = tp.create_scenario(scc)
    tp.submit(scenario)

    print(scenario.api_result.read())

注意事项

  • 需确保任务函数内的错误会抛出异常:示例中添加r.raise_for_status(),因为requests.get收到4xx/5xx状态码时不会主动抛出异常,只有任务函数抛出异常时,Taipy才会触发重试逻辑。
  • retry默认值为0(不重试),需设置大于0的数值启用重试。
  • retry_wait支持整数或浮点数,例如retry_wait=1.5表示等待1.5秒。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:03:21