Планирование задач Snowflake

#snowflake-cloud-data-platform

Вопрос:

Я должен написать задачу snowflake для выполнения каждый день каждые 2 минуты с 5:00 по восточному времени до 5:00 вечера по восточному времени. Код, который я написал, не работает, задача не перестала выполняться даже после 17:00 вечера:

 CREATE OR REPLACE TASK tsk_master
    WAREHOUSE = XS_WH
    SCHEDULE = 'USING CRON * 5-17 * * * America/New_York'
    TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
COMMENT = 'Master task job to trigger all other tasks'
AS call pntinsight_lnd.SP_ACCT_DIM_1();
 

Пожалуйста, подскажите, что я сделал не так, как остановить его запуск после 5 часов вечера и как я могу настроить его на запуск каждые 2 минуты?

Ответ №1:

Вы должны определить все минуты запуска, это выглядит некрасиво, но должно работать:

 CREATE OR REPLACE TASK tsk_master
    WAREHOUSE = XS_WH
    SCHEDULE = 'USING CRON 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58  5-17 * * * America/New_York'
    TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
COMMENT = 'Master task job to trigger all other tasks'
AS call pntinsight_lnd.SP_ACCT_DIM_1();
 

Комментарии:

1. Чтобы запросить текущее использование для всех бессерверных задач, выполните следующую инструкцию с ACCOUNTADMIN в качестве активной роли в сеансе: выберите start_time, end_time, task_id, task_name, credits_used, schema_id, schema_name, database_id, database_name из snowflake.account_usage.serverless_task_history порядок по start_time, task_id;

Ответ №2:

задача snowflake будет выполняться ежедневно каждые 2 минуты с 5:00 по восточному времени до 5:00 вечера по восточному времени.

Необязательные параметры:

/ n

Указывает n-й экземпляр за заданную единицу времени.Каждый квант времени вычисляется независимо

Таким образом, каждые 2 минуты будет:

 SCHEDULE = 'USING CRON */2 5-17 * * * America/New_York'