Cronhq icon

Cronhq

Cronhqは、スケジュールに沿ってWebhookを呼び出し、失敗したリクエストを再試行し、実行履歴を記録する分散型cronサービスです。ダッシュボード、REST API、CLI、無料のセルフホスト導入に対応し、重複のない失敗・復旧アラートを送信します。

Cronhq

実行追跡に対応したスケジュールWebhook

Cronhqは、スケジュールに沿ってHTTPエンドポイントを呼び出す必要があるチーム向けの、マネージド型分散cronサービスです。ジョブには、5フィールドのcron式、Webhook URL、任意のリクエスト設定、タイムゾーンを組み合わせます。Cronhqは一致する各実行時刻にリクエストをディスパッチし、結果を記録します。

このサービスは、スケジュールされたWebhookを可観測かつ復旧可能にするよう設計されています。Postgresを基盤とする実行要求の確保によってワーカーを調整し、設定可能な再試行で一時的な障害に対応します。また、重複のないアラートにより、ジョブが失敗しきい値を超えたときと復旧したときにユーザーへ通知します。さらにCronhqは、送信されなかったpingを検出するハートビートモニターに加え、ダッシュボード、REST API、CLIのワークフローを提供します。

主要機能

Exactly-onceディスパッチ

Postgresロックによって各スケジュール実行を確保するため、複数のワーカーが同じスロットを重複してディスパッチすることはありません。ワーカーが実行途中で失敗した場合は、ロックの期限切れ後に別のワーカーが処理を引き継げます。

設定可能な再試行

再試行の最大回数と試行間の遅延を設定できます。Cronhqは成功、失敗、タイムアウトの結果を区別し、最終的なエラーを保持します。

失敗・復旧アラート

重複のない失敗・復旧通知をメールまたはSlackに送信し、インシデント継続中に同じ通知が繰り返し発生するのを抑えます。

署名付きWebhook

すべてのリクエストに、ジョブの署名用シークレットに対するHMAC-SHA256ダイジェストを含むX-Cronhq-TimestampとX-Cronhq-Signatureが付加されます。シークレットはダウンタイムなしでローテーションできます。

Cronスケジュールとタイムゾーン対応

ジョブのタイムゾーンを指定してcron構文でスケジュールを定義できます。または、ダッシュボードのスケジュールビルダーで式を自然言語でプレビューできます。

実行履歴と運用ツール

各実行について、ステータス、試行回数、HTTPコード、所要時間、切り詰められたレスポンス本文またはエラーメッセージを確認できます。REST APIは即時トリガーにも対応し、CLIでは実行状況の追跡とcronhq.yamlファイルの差分反映を行えます。

実用的なユースケース

  • アプリケーションのメンテナンスとバッチトリガー

    内部アプリケーションの公開Webhookをジョブの送信先に指定し、希望するタイムゾーンを設定することで、夜間の集計、請求書生成、データ更新、クリーンアップリクエストをスケジュールできます。

  • 一時的な障害を伴う運用ワークフロー

    再試行と保持された実行詳細を利用して、断続的に発生する下流サービスの障害を可視化しながら、失敗した試行ごとに通知が送られるのを避けられます。

  • デッドマンスイッチ監視

    ハートビートモニターを設定し、予定された各実行時にシステムからCronhqへpingを送信します。期間に猶予時間を加えた時間を超えてpingが届かない場合、モニターは停止状態としてマークされ、アラートが送信されます。

  • バージョン管理されたスケジューリング

    スケジュールをcronhq.yamlに保存し、CLIで作成、更新、削除を差分反映できます。その後、アプリケーションコードと並行して、ターミナルから実行状況をリアルタイムに追跡できます。

Pros and Cons

Pros

  • Exactly-onceの実行確保は、ワーカー間でPostgresロックを使って調整されます。
  • 再試行、最終結果、HTTPの詳細、レスポンスまたはエラー情報をトラブルシューティングに利用できます。
  • アラートは重複排除され、メールまたはSlackを通じた失敗・復旧通知の両方に対応します。
  • ジョブでは、標準的なcron式、タイムゾーン、カスタムメソッド、ヘッダー、本文、タイムアウト、ジョブごとの再試行設定に対応しています。
  • 無料のマネージドプランと、無料でMITライセンスのセルフホスト版を利用できます。

Cons

  • ジョブが呼び出すエンドポイントは公開アクセス可能である必要があります。提供されたドキュメントでは、プライベートネットワーク内での実行について説明されていません。
  • 実行履歴の保持期間はプランによって異なります。Freeは7日間、Developerは30日間、Proは365日間です。
  • この製品はWebhookベースのスケジューリングを中心としているため、汎用ワーカーまたはコンテナ実行プラットフォームとしては提示されていません。

FAQ

Cronhqはスケジュールされたジョブをどのように実行しますか?

Cronhqは、標準的な5フィールドのcron式を使用して、公開到達可能なWebhookにHTTPリクエストをスケジュールします。ジョブではGET、POST、PUT、PATCH、DELETEを使用でき、ヘッダー、暗号化されたシークレットヘッダー、リクエスト本文、タイムアウト、再試行、タイムゾーンの設定を指定できます。

ジョブを設定するにはどうすればよいですか?

アカウントを作成し、chq_で始まるAPIキーをコピーしてから、REST APIまたはダッシュボードでジョブを作成します。ジョブは次回のスケジュール時刻に有効になります。ダッシュボードまたはPOST /v1/jobs/:id/triggerを使って、すぐに実行することもできます。

Webhookが失敗するとどうなりますか?

2xx以外のレスポンスまたはトランスポートエラーは、ジョブのmax_retriesおよびretry_delay_secs設定に従って再試行されます。各試行と最終結果は実行履歴に記録されます。

アラートはどのように機能しますか?

アラートはメールまたはSlackに送信できます。Cronhqは、直近1時間以内に設定した失敗回数のしきい値を超えたときに重複のない失敗通知を送信し、連続した失敗の後に初めて成功すると復旧通知を送信します。

Cronhqはセルフホストできますか?

はい。セルフホスト版は無料で、MITライセンスです。マネージドサービスと同じコンテナを使用し、独自のPostgresデータベースが必要です。

Quick Facts

カテゴリー
開発者向けツール · スケジュールWebhook
提供形態
マネージドAPIとダッシュボード、無料のセルフホスト対応
スケジューリング
IANAタイムゾーン対応の標準5フィールドcron構文
インターフェース
REST API、Webダッシュボード、cronhq CLI
アラート送信先
メール、Slack
マネージドプラン
Free:アクティブなジョブ5件、Developer:20件、Pro:無制限

Cronhqの代替品

ClawTick icon

ClawTick

ClawTickは、CLI、ダッシュボード、REST APIからジョブをスケジュールできるAIエージェント自動化プラットフォームです。LangChain、CrewAI、webhook、カスタムワークフローの監視、アラート、ログ管理に対応。

Liam icon

Liam

Liamは、受信箱の管理、返信文の作成、メールの優先順位付け、会議の日程調整を行うAIコパイロット。個人は無料、チームと企業はカスタム料金で利用できます。

Exodus icon

Exodus

Exodusは無料の開発者向けツール。アプリのリポジトリを監査し、現在のデプロイとGoogle Cloud Run設計を比較して、コーディングエージェント向けの移行計画を作成。新規製品の構成・コスト見積もりにも対応。

Gemma AI icon

Gemma AI

Gemma AIは、プッシュ通知の代わりに予定に合わせて電話でリマインドする通話型リマインダーアプリです。Googleカレンダー同期と会話形式の操作に対応。

Falconer icon

Falconer

Falconerは、GitHub、Slack、Linearなどと同期し、社内ドキュメントを正確に保ち、検索しやすく最新化するAI搭載の会社の頭脳。エンジニアや横断チームのナレッジを集約し、共通の情報源から質問に答えます。

OpenFlags icon

OpenFlags

OpenFlagsは、現代的なJavaScriptチーム向けのオープンソースでセルフホスト型のfeature flagプラットフォームです。ローカル評価、段階的ロールアウト、対象別の公開を、データを自社環境に保持したまま実現します。