メインコンテンツへスキップ
POST /api/v1/cloud/environments/{environment_id}/work/{work_id}/heartbeat work item の heartbeat を送信し、worker のリースを延長します。最初に成功した heartbeat は starting のアイテムを active へ移行させます。 楽観的なリース所有権のために expected_last_heartbeat を使用します。別の worker がアイテムを引き継いでいる場合、事前条件は 412 で失敗します。

パスパラメータ

パラメータ説明
environment_idstringenv_ プレフィックス付きの Environment ID
work_idstringwork_ プレフィックス付きの Work item ID

リクエストヘッダー

ヘッダー必須説明
AuthorizationはいBearer $QODER_PAT

クエリパラメータ

パラメータ必須説明
expected_last_heartbeatstringいいえNO_HEARTBEAT またはサーバーが返した最後の heartbeat タイムスタンプのいずれか。無条件更新の場合は省略
desired_ttl_secondsintegerいいえ希望するリース TTL。正の値でなければならない。受け入れられた値はサポート範囲の 10 秒から 600 秒にクランプされる

リクエスト例

curl -X POST "https://api.qoder.com/api/v1/cloud/environments/env_019e64e01a137caf953ac2ac7b42ec5c/work/work_019f3be4fd2475d9a784bf2c739e1194/heartbeat?expected_last_heartbeat=NO_HEARTBEAT&desired_ttl_seconds=60" \
  -H "Authorization: Bearer $QODER_PAT"

レスポンス例

HTTP 200 OK
{
  "type": "work_heartbeat",
  "last_heartbeat": "2026-07-01T08:15:06.120394Z",
  "lease_extended": true,
  "state": "active",
  "ttl_seconds": 60
}

レスポンスフィールド

Work heartbeat オブジェクト を返します。

エラー

HTTPtypeトリガー
400invalid_request_errordesired_ttl_seconds が正の整数でない
400invalid_request_errorexpected_last_heartbeatNO_HEARTBEAT でも RFC 3339 タイムスタンプでもない
400invalid_request_errorEnvironment が self_hosted でない
401authentication_errorPAT が無効または期限切れ
403permission_errorこの操作の権限がない
404not_found_errorEnvironment または work item が存在しない
409invalid_request_errorWork item が queued または stopped であり heartbeat できない
412precondition_failed_errorexpected_last_heartbeat が現在のリース所有者と一致しない
完全なエラーエンベロープについては エラーリファレンス を参照してください。

関連

クラウド環境

Agent が実行されるコンテナ、ネットワーク、依存関係を選択する。