INNER CODE UNIT · Python

_post_agent_payload

ChrispyBacon-dev/DockFlare · dockflare-agent/app/main.py:416

def _post_agent_payload(payload):
    global last_successful_master_contact
    endpoint = f"{MASTER_URL}/api/v2/agents/{AGENT_ID}/events"
    for attempt in range(3):
        try:
            response = requests.post(endpoint, json=payload, headers=get_headers(), timeout=15)
            code = _safe_response_code(response)
            accepted_code = code in {"accepted", "accepted_noop", "duplicate_sequence", "inventory_incomplete"}
            if response.status_code in (200, 202) and (accepted_code or PROTOCOL_VERSION == 1):
                last_successful_master_contact = datetime.now(timezone.utc)
                return True
            if response.status_code == 409 and code == "registration_required":
                with _registration_lock:
                    if register_with_master():
                        return False
            if response.status_code == 429 or response.status_code >= 500:
                if attempt < 2:
                    retry_after = response.headers.get("Retry-After") if hasattr(response, "headers") else None

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…