跳至主要內容
Telemetry
背景工作 SQL查詢範例

檢測錯過的 Cron 計劃

將連續的 cron 執行事件與每個計劃間隔進行比較,以查詢延遲或丟失的執行。

中級cron_runs已審查 2026-07-28測試用 阿帕奇 DataFusion 45.2.0

審閱者 Telemetry產品團隊 . SQL 相容性、事件契約、合成輸出和操作注意事項. 審查標準和所有權

問題已回答

哪些預定作業的執行時間晚於記錄的時間間隔?

從未啟動的 cron 處理程序不會發出故障。將觀察到的執行之間的差距與預期間隔進行比較,可以檢測普通錯誤率查詢錯過的靜默。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp觀察 cron-run 開始時間。
schedule_nameUtf8穩定的計劃工作流程名稱。
environmentUtf8部署環境。
expected_interval_minutesFloat64記錄開始之間的分鐘數。
DataFusion SQL

複製查詢

sql
WITH ordered_runs AS (
  SELECT
    schedule_name,
    environment,
    timestamp_utc AS run_at,
    expected_interval_minutes,
    LAG(timestamp_utc) OVER (
      PARTITION BY schedule_name, environment
      ORDER BY timestamp_utc
    ) AS previous_run_at
  FROM cron_runs
  WHERE timestamp_utc >= now() - INTERVAL '7 days'
)
SELECT
  schedule_name,
  environment,
  previous_run_at,
  run_at,
  expected_interval_minutes,
  date_part('second', run_at - previous_run_at) / 60.0 AS observed_gap_minutes
FROM ordered_runs
WHERE previous_run_at IS NOT NULL
  AND date_part('second', run_at - previous_run_at) / 60.0
    > expected_interval_minutes * 1.5
ORDER BY observed_gap_minutes DESC;

此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。

查詢結果

觀察到的時間表差距

計費同步錯過了兩次預期開始時間,而每日到期工作流程則跳過了一天。

schedule_nameenvironmentprevious_run_atrun_atexpected_interval_minutesobserved_gap_minutes
hourly_billing_syncproduction2026-07-27 07:002026-07-27 10:0060180
daily_trial_expirationproduction2026-07-25 02:002026-07-27 02:001,4402,880

綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。

Observed schedule gaps:來自 Detect Missed Cron Schedules 範例結果的合成 observed_gap_minutes 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

JSON 包包含型別化事件契約, illustrative 輸入行、確切的 SQL、預期輸出、審閱註釋和引擎版本。 CSV 包含顯示的結果。

SQL 是如何工作的

  1. 1LAG 檢索每個計劃和環境的先前觀察到的開始。
  2. 2時間戳差異成為觀察到的間隙,可以與每個作業自己的間隔進行比較。
  3. 31.5 的乘數允許正常的排程抖動,而不會隱藏真正錯過的執行。

需要決定的邊緣情況

  • 此歷史查詢僅在下一次執行到達後才檢測到間隙;將其與當前丟失心跳警示配對。
  • 計劃維護和禁用時間表應發出明確的狀態更改。
  • 夏令時轉換需要 UTC 時間表或時區感知期望。

推薦儀表板

  • 資料表:上一次和下一次執行錯過的開始時間
  • 趨勢:按工作劃分的日程間隔分鐘數
  • 統計:生產計劃目前已逾期

警示指導

對於即時檢測,當最新執行早於預期間隔加上記錄的抖動時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

建立資料表,調整欄位並儲存結果

免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。

獲取 API 金鑰