コンテンツにスキップ

Ping

メソッド

RESTメソッドを採用しています。

HTTPメソッド

GET: シンプルヘルスチェック

命名規則

クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。

リクエストとレスポンス

ヘッダー

メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。

リクエストヘッダー

  • Accept
  • Accept-language

レスポンスヘッダー

  • Content-Type

シンプルヘルスチェック

URI

GET /v1/ping

レスポンス

レスポンスはJSONです。

{
  "message": "pong"
}

レスポンスフィールド

名前 型 説明
message string 固定値 "pong"

認証

このエンドポイントは認証不要です。

例外処理

例外処理のステータスコードは以下の通りです。

説明 ステータスコード ステータス名
内部サーバーエラー 500 Internal Server Error

処理フロー

  1. リクエスト開始時刻をログに記録
  2. 非同期セッションクリーンアップをトリガー(fire-and-forget)
  3. リクエスト期間を計算
  4. タイミング付きで成功をログに記録
  5. シンプルな"pong"レスポンスを返却

セッションクリーンアップ

  • 期限切れセッションを自動的にクリーンアップ
  • レスポンスをブロックせずに非同期実行
  • エラーはログに記録されるがヘルスチェックには影響しない
  • 専用のcronジョブなしで定期的なクリーンアップを提供

パフォーマンス

  • 最小限の処理時間
  • データベースクエリなし
  • 頻繁なポーリングに適している(数秒ごと)

使用例

  • ロードバランサーのヘルスチェック
  • Kubernetes livenessプローブ
  • アップタイム監視サービス
  • 迅速なサービス可用性チェック

詳細フローチャート

flowchart TD
    Start([GET /ping]) --> LogStart[開始時刻記録]
    LogStart --> TriggerCleanup[セッションクリーンアップ<br/>非同期fire-and-forget]
    TriggerCleanup --> CalcDuration[処理時間計算]
    CalcDuration --> Success[200 OK<br/>pong]