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

Snowflake每分钟调度Task恢复后无次日执行历史问题咨询

Snowflake 分钟级Task次日无执行记录问题排查

首先明确:Snowflake 绑定自定义虚拟仓库的Task没有默认的连续运行时间上限,不会因为运行满24小时自动停止调度,你查不到执行记录基本是以下几个原因导致的:

  • TASK_HISTORY()查询参数不全导致结果遗漏
    不带入参调用information_schema.task_history()时,默认仅返回当前角色有权限查看的、最近100条任务执行记录,没有时间范围过滤。如果你的账号下存在其他高频运行的Task,很容易把你这个IAM_TASK的记录挤出默认返回的结果集;如果次日查询时使用的角色没有TEMP_DB.IAM schema的访问权限,也会完全看不到对应记录。
    建议使用带完整过滤条件的语句查询,避免漏结果:
select *
from table(information_schema.task_history(
    scheduled_time_range_start => dateadd('day', -2, current_timestamp()),
    result_limit => 1000,
    task_name => 'IAM_TASK'
))
where database_name = 'TEMP_DB'
  and schema_name = 'IAM'
order by scheduled_time desc;
  • 任务已经进入暂停状态停止调度
    Snowflake不会因为Task长时间运行主动暂停,但以下场景会触发任务自动/手动暂停,后续不再产生调度记录:
    • Task连续执行失败达到默认阈值(连续10次执行失败会自动暂停,避免资源空耗)
    • 任务绑定的虚拟仓库ELT_WHS被删除,或者任务所属角色失去了仓库的USAGE权限、存储过程TEMP_DATA()的执行权限
    • 其他拥有Task操作权限的用户手动执行了暂停操作
      可以直接执行以下语句查看任务当前状态:
show tasks like 'IAM_TASK' in schema TEMP_DB.IAM;

查看返回结果中的state字段,如果值为suspended说明任务已停止调度,结合suspended_on、last_error_code、last_error_message字段就能定位具体暂停原因。

  • 额外说明:如果你创建Task时没有指定自定义warehouse,而是使用Snowflake托管的无服务器Task资源,会有单任务执行超时、账号级配额限制,但你在创建语句中显式指定了warehouse=ELT_WHS,不受这类规则限制,只要仓库可用、任务处于RESUME状态就会按每分钟的频率持续调度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:29:00