Cronhq icon

Cronhq

Cronhq 是分散式 cron 服務,可依排程呼叫 Webhook、重試失敗請求、記錄執行結果,並傳送去重的失敗與恢復警示;支援儀表板、REST API、CLI 與免費自託管部署。

Cronhq

具備執行追蹤的排程 Webhook

Cronhq 是供團隊使用的託管分散式 cron 服務,可依排程呼叫 HTTP 端點。工作會結合五欄位 cron 表達式、Webhook URL、選用的請求設定與時區;Cronhq 會在每個符合條件的觸發時間派送請求,並記錄結果。

此服務旨在讓排程 Webhook 具備可觀測性並能夠復原。以 Postgres 為基礎的執行認領機制可協調工作者,可設定的重試機制能處理暫時性失敗,而去重的警示會在工作跨過失敗門檻及恢復時通知使用者。Cronhq 也提供用於偵測遺漏 ping 的心跳監控,以及儀表板、REST API 與 CLI 工作流程。

核心功能

精確一次派送

Postgres 鎖定機制會認領每次排程執行,確保多個工作者不會派送同一個時段。如果工作者在執行過程中失敗,鎖定到期後,其他工作者即可接手。

可設定的重試

設定最多重試次數與嘗試之間的延遲時間。Cronhq 會區分成功、失敗與逾時結果,並保留最終錯誤。

失敗與恢復警示

將去重的失敗與恢復通知傳送至電子郵件或 Slack,減少事件持續期間重複收到通知。

已簽署的 Webhook

每個請求都會包含 X-Cronhq-Timestamp,以及包含工作簽署密鑰之 HMAC-SHA256 摘要的 X-Cronhq-Signature。您可以在不中斷服務的情況下輪替密鑰。

Cron 排程與時區支援

使用 cron 語法搭配工作時區定義排程,或使用儀表板的排程建立器,以簡明英文預覽表達式。

執行歷程與維運工具

查看每次執行的狀態、嘗試次數、HTTP 狀態碼、持續時間,以及截斷後的回應主體或錯誤訊息。REST API 也支援立即觸發,而 CLI 可串流查看執行結果,並調和 cronhq.yaml 檔案。

實際使用情境

  • 應用程式維護與批次觸發

    將工作指向內部應用程式的公開 Webhook,並設定所需時區,即可排程夜間彙總、發票產生、資料重新整理或清理請求。

  • 具暫時性失敗的維運工作流程

    使用重試與保留的執行詳細資訊,讓間歇性的下游失敗保持可見,同時避免每次個別失敗嘗試都產生通知。

  • 死人開關監控

    設定心跳監控,讓系統在每次預期執行時向 Cronhq 傳送 ping。如果在週期加寬限時間之後仍未收到 ping,監控會標記為停機並傳送警示。

  • 版本控制的排程

    將排程儲存在 cronhq.yaml,並使用 CLI 調和新增、更新與移除項目,接著在終端機中即時串流查看執行結果,與應用程式程式碼並行作業。

Pros and Cons

Pros

  • 跨工作者的精確一次執行認領由 Postgres 鎖定機制協調。
  • 疑難排解時可取得重試、最終結果、HTTP 詳細資訊,以及回應或錯誤資訊。
  • 警示採用去重設計,並支援透過電子郵件或 Slack 傳送失敗與恢復通知。
  • 工作支援標準 cron 表達式、時區、自訂方法、標頭、主體、逾時與每個工作的重試設定。
  • 提供免費託管方案,以及免費且採用 MIT 授權的自託管選項。

Cons

  • 工作呼叫的端點必須可從公開網路連線;提供的文件未說明私有網路執行方式。
  • 執行歷程的保留期限取決於方案:Free 為 7 天、Developer 為 30 天、Pro 為 365 天。
  • 此產品以 Webhook 排程為核心,因此並未定位為通用工作者或容器執行平台。

FAQ

Cronhq 如何執行排程工作?

Cronhq 會使用標準五欄位 cron 表達式,將 HTTP 請求排程至可從公開網路連線的 Webhook。工作可使用 GET、POST、PUT、PATCH 或 DELETE,並可設定標頭、加密的機密標頭、請求主體、逾時、重試與時區。

如何設定工作?

建立帳戶後,複製以 chq_ 開頭的 API 金鑰,再透過 REST API 或儀表板建立工作。工作會在下一個排程觸發時間啟用;您也可以從儀表板,或使用 POST /v1/jobs/:id/trigger 立即觸發工作。

Webhook 失敗時會發生什麼事?

非 2xx 回應或傳輸錯誤會依照工作中的 max_retries 與 retry_delay_secs 設定重試。每次嘗試與最終結果都會記錄在執行歷程中。

警示如何運作?

警示可傳送至電子郵件或 Slack。當最近一小時內的失敗次數跨過設定的失敗門檻時,Cronhq 會傳送去重的失敗通知;在連續失敗後首次成功時,則會傳送恢復通知。

Cronhq 可以自託管嗎?

可以。自託管版本免費且採用 MIT 授權。它使用與託管服務相同的容器,並需要您自行提供 Postgres 資料庫。

Quick Facts

類別
開發者工具 · 排程 Webhook
交付模式
託管 API 與儀表板,並提供免費自託管
排程
搭配 IANA 時區的標準五欄位 cron 語法
介面
REST API、網頁儀表板與 cronhq CLI
警示目的地
電子郵件與 Slack
託管方案
Free:5 個啟用中的工作;Developer:20 個;Pro:無限制