#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'