首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪花中的任务

雪花中的任务
EN

Stack Overflow用户
提问于 2022-09-10 07:21:51
回答 2查看 66关注 0票数 0

我创建了两个任务,每天运行一次。

代码语言:javascript
复制
create or replace task TESTDB.TESTSCHEMA.TASK_EXTERNAL_REFRESH
    warehouse=W_TEST_DEVELOPER
    schedule='USING CRON 0 4 * * * UTC'
    TIMESTAMP_INPUT_FORMAT='YYYY-MM-DD HH24'
    as 
    call TESTDB.TESTSCHEMA.TEST_EXTERNAL_TABLE_REFRESH();
    
    
    
create or replace task ESTDB.TESTSCHEMA.TASK_LOAD_TABLES
    warehouse=W_TEST_DEVELOPER
    schedule='USING CRON 0 5 * * * UTC'
    TIMESTAMP_INPUT_FORMAT='YYYY-MM-DD HH24'
    as 
    call TESTDB.TESTSCHEMA.TEST_LOAD_TABLES();

现在,我想确保TESTDB.TESTSCHEMA.TASK_EXTERNAL_REFRESH在TASK_LOAD_TABLES运行之前运行。

我该怎么做?另外,是否应该在配置表中捕获任务运行中的错误详细信息?什么是"TESTDB.TESTSCHEMA.TASK_EXTERNAL_REFRESH“失败?如果失败,下一个不应该运行。

EN

回答 2

Stack Overflow用户

发布于 2022-09-10 07:28:34

应增加优先规则而不是时间表:

代码语言:javascript
复制
ALTER TASK TESTDB.TESTSCHEMA.TASK_LOAD_TABLES  
ADD AFTER  TESTDB.TESTSCHEMA.TASK_EXTERNAL_REFRESH;

创建任务

在弦乐之后. 指定当前任务的一个或多个前置任务。使用此选项可创建任务的DAG或将此任务添加到现有的DAG中。DAG是一系列任务,从预定的根任务开始,并通过依赖项链接在一起。

相关:雪花-任务的许多任务依赖项

票数 0
EN

Stack Overflow用户

发布于 2022-09-10 17:21:56

对于对前面任务和后续任务的查询,应使用“后置任务名称”选项。

代码语言:javascript
复制
create task task2
after task1
as
insert into t1(ts) values(current_timestamp);

https://docs.snowflake.com/en/sql-reference/sql/create-task.html#single-sql-statement

下面给出了一些选项,用于检查任务的状态并决定后续/子任务的执行。

可以使用SUSPEND_TASK_AFTER_FAILURES = number

https://docs.snowflake.com/en/user-guide/tasks-intro.html#automatically-suspend-tasks-after-failed-runs

创建一个任务,该任务调用一个UDF来检查ACCOUNT_USAGE.TASK_HISTORY or INFORMATION_SCHEMA.TASK_HISTORY views的任务状态。

您可以使用外部工具检查任务的状态并对其进行集成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73670021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档