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

使用 SQL 查詢停滯的後台作業

連線作業開始和完成事件以識別超出其預期完成視窗的工作。

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

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

問題已回答

哪些作業已啟動但從未產生終止事件?

作業可以消失而不會產生失敗事件。連線啟動到終止事件會顯示仍在執行的工作、工作執行緒崩潰後丟失的工作或缺少完成檢測的工作。

活動合約

查詢期望的欄位

欄位型別為什麼存在
timestamp_utcTimestamp事件發生時。
job_idUtf8一項作業的每個事件共享的識別符號。
job_nameUtf8穩定的邏輯作業名稱。
event_nameUtf8job_started、job_completed 或 job_failed。
queue_nameUtf8擁有該作業的佇列。
DataFusion SQL

複製查詢

sql
WITH started AS (
  SELECT
    job_id,
    job_name,
    queue_name,
    MIN(timestamp_utc) AS started_at
  FROM job_events
  WHERE event_name = 'job_started'
    AND timestamp_utc >= now() - INTERVAL '24 hours'
  GROUP BY job_id, job_name, queue_name
),
finished AS (
  SELECT
    job_id,
    MAX(timestamp_utc) AS finished_at
  FROM job_events
  WHERE event_name IN ('job_completed', 'job_failed')
    AND timestamp_utc >= now() - INTERVAL '24 hours'
  GROUP BY job_id
)
SELECT
  s.job_id,
  s.job_name,
  s.queue_name,
  s.started_at
FROM started s
LEFT JOIN finished f ON s.job_id = f.job_id
WHERE f.job_id IS NULL
  AND s.started_at < now() - INTERVAL '15 minutes'
ORDER BY s.started_at ASC;

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

查詢結果

沒有終止事件的最古老的作業

資料表儲存操作員檢查或重播工作所需的識別符號。

job_idjob_namequeue_namestarted_at
job_7f31import_catalogimports2026-07-27 15:02:11Z
job_801csync_subscriptionbilling2026-07-27 15:19:43Z

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

Oldest jobs without a terminal event:來自 Find Stalled Background Jobs With SQL 範例結果的合成 started_at 值的靜態圖表
確定性範例輸出的可索引 SVG。下載它以獲取帶有歸屬的文章、操作手冊或設計評論。

重現範例

下載公共裝置

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

SQL 是如何工作的

  1. 1第一個 CTE 保留每個邏輯作業的最早開始時間。第二個保留最新的終端事件。
  2. 2即使不存在匹配的完成或失敗,LEFT JOIN 也會保留已啟動的作業。
  3. 3十五分鐘閾值是停滯的操作定義。根據預期的工作持續時間來設定它,而不是盲目複製它。

需要決定的邊緣情況

  • 長時間執行的作業需要特定於作業的閾值或心跳事件。
  • 遲到的事件可能會暫時產生誤報;當攝取可能滯後時,延遲最新的儲存桶。
  • 重用的 job_id 將加入不相關的執行,因此每個邏輯執行的 ID 必須是唯一的。

推薦儀表板

  • 統計:當前停滯的作業數
  • 資料表:最舊的停滯作業 job_id 和 queue_name
  • 折線圖:按天檢測的停滯作業

警示指導

當任何關鍵作業超過其預期持續時間加上短暫的攝取寬限期時發出警示。

讀取警示設定

讓查詢範例發揮作用

相關埋點和指南

繼續分析

在真實事件中執行它

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

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

獲取 API 金鑰