Snowflake Task выполнялась каждую минуту часа
В настоящее время я работаю над "задачей" снежинки, чтобы каждый день вставать стол в ранние часы.
Моя текущая задача создана с использованием синтаксиса ниже -
CREATE OR REPLACE TASK "DB"."SCHEMA"."SAMPLE_TASK"
WAREHOUSE = SAMPLE_WAREHOUSE
SCHEDULE = 'USING CRON * 12 * * * UTC'
TIMESTAMP_INPUT_FORMAT = 'YYYY-MM-DD HH24'
AS
CREATE OR REPLACE "DB"."SCHEMA"."EMP"
AS
SELECT * FROM "DB"."SCHEMA"."EMP_STAGE";
Я работаю в CST, и, когда UTC было -7 часов, ожидалось, что моя задача будет выполняться в 5 утра, что и произошло. Я подтвердил, что используя "TASK_HISTORY" в INFORMATION_SCHEMA -
SELECT * FROM TABLE(DB.INFORMATION_SCHEMA.TASK_HISTORY()) WHERE NAME = 'SAMPLE_TASK';
Но он также выполнялся еще 59 раз за каждую минуту оставшегося часа до 6.
- Начальная временная метка QueryID - 2020-07-02 05:00:00.000 -0700
- Окончательная временная метка QueryID - 2020-07-02 05:59:00.000 -0700
Я что-нибудь упустил?
Спасибо за чтение, любая помощь приветствуется.
-Sri
2 ответа
Синтаксис CRON вашей задачи запрашивает, указав*
для его минутного (первого) компонента задача должна выполняться каждую минуту в течение 12-го часа дня (т.е. 60 раз в день, все в 12-й час).
Исходя из вашего описания, вместо этого вы ищете следующее:
SCHEDULE = 'ИСПОЛЬЗОВАНИЕ CRON 0 12 * * * UTC'
Это будет выполняться только один раз в 12.00 UTC каждый день.
Использование таких инструментов, как https://crontab.guru/ или CRON tester, может помочь проверить ваши расписания CRON, прежде чем вы внедряете их в свои задачи Snowflake.
Расписание находится в формате cron, и у вас есть * для минуты, поэтому он будет запускаться каждую минуту в течение этого часа.
Подробную информацию о формате cron можно найти на многих страницах в Интернете. Один из примеров заключается в следующем, обратите внимание, что первым "параметром" в формате cron является минута:
https://support.acquia.com/hc/en-us/articles/360004224494-Cron-time-string-format
Я рекомендую перестроить эту задачу со значением ноль или единицей для этой первой *.
Надеюсь, это поможет... Рич