Ping
メソッド
RESTメソッドを採用しています。
HTTPメソッド
GET: シンプルヘルスチェック
命名規則
クエリパラメータとノードの命名を統一し、可読性を向上させるため、リクエスト時のURIとJSON内のノードにはsnake_caseを使用します。
リクエストとレスポンス
ヘッダー
メタ情報はレスポンスボディではなく、HTTPヘッダーに設定されます。
リクエストヘッダー
AcceptAccept-language
レスポンスヘッダー
Content-Type
シンプルヘルスチェック
URI
レスポンス
レスポンスはJSONです。
レスポンスフィールド
| 名前 | 型 | 説明 |
|---|---|---|
| message | string | 固定値 "pong" |
認証
このエンドポイントは認証不要です。
例外処理
例外処理のステータスコードは以下の通りです。
| 説明 | ステータスコード | ステータス名 |
|---|---|---|
| 内部サーバーエラー | 500 | Internal Server Error |
処理フロー
- リクエスト開始時刻をログに記録
- 非同期セッションクリーンアップをトリガー(fire-and-forget)
- リクエスト期間を計算
- タイミング付きで成功をログに記録
- シンプルな"pong"レスポンスを返却
セッションクリーンアップ
- 期限切れセッションを自動的にクリーンアップ
- レスポンスをブロックせずに非同期実行
- エラーはログに記録されるがヘルスチェックには影響しない
- 専用のcronジョブなしで定期的なクリーンアップを提供
パフォーマンス
- 最小限の処理時間
- データベースクエリなし
- 頻繁なポーリングに適している(数秒ごと)
使用例
- ロードバランサーのヘルスチェック
- Kubernetes livenessプローブ
- アップタイム監視サービス
- 迅速なサービス可用性チェック
詳細フローチャート
flowchart TD
Start([GET /ping]) --> LogStart[開始時刻記録]
LogStart --> TriggerCleanup[セッションクリーンアップ<br/>非同期fire-and-forget]
TriggerCleanup --> CalcDuration[処理時間計算]
CalcDuration --> Success[200 OK<br/>pong]