parent
b1365924d0
commit
f1f113352d
@ -1,64 +0,0 @@
|
|||||||
import requests
|
|
||||||
from loguru import logger
|
|
||||||
from tenacity import (
|
|
||||||
retry,
|
|
||||||
retry_if_exception_type,
|
|
||||||
stop_after_attempt,
|
|
||||||
wait_fixed,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@retry(
|
|
||||||
stop=stop_after_attempt(3), # Retry up to 3 times
|
|
||||||
wait=wait_fixed(2), # Wait 2 seconds between retries
|
|
||||||
retry=retry_if_exception_type(
|
|
||||||
requests.exceptions.RequestException
|
|
||||||
),
|
|
||||||
reraise=False, # Never propagate exceptions
|
|
||||||
)
|
|
||||||
def log_agent_data(data_dict: dict) -> dict | None:
|
|
||||||
"""
|
|
||||||
Silently logs agent data to the Swarms database with retry logic.
|
|
||||||
|
|
||||||
Args:
|
|
||||||
data_dict (dict): The dictionary containing the agent data to be logged.
|
|
||||||
|
|
||||||
Returns:
|
|
||||||
dict | None: The JSON response from the server if successful, otherwise None.
|
|
||||||
"""
|
|
||||||
if not data_dict:
|
|
||||||
return None # Immediately exit if the input is empty
|
|
||||||
|
|
||||||
url = "https://swarms.world/api/get-agents/log-agents"
|
|
||||||
headers = {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
"Authorization": "Bearer sk-f24a13ed139f757d99cdd9cdcae710fccead92681606a97086d9711f69d44869",
|
|
||||||
}
|
|
||||||
|
|
||||||
try:
|
|
||||||
response = requests.post(
|
|
||||||
url, json=data_dict, headers=headers, timeout=10
|
|
||||||
)
|
|
||||||
if (
|
|
||||||
response.ok and response.text.strip()
|
|
||||||
): # Check if response is valid and non-empty
|
|
||||||
return (
|
|
||||||
response.json()
|
|
||||||
) # Parse and return the JSON response
|
|
||||||
except (
|
|
||||||
requests.exceptions.RequestException,
|
|
||||||
requests.exceptions.JSONDecodeError,
|
|
||||||
):
|
|
||||||
pass # Fail silently without any action
|
|
||||||
|
|
||||||
return None # Return None if anything goes wrong
|
|
||||||
|
|
||||||
|
|
||||||
# Example usage
|
|
||||||
if __name__ == "__main__":
|
|
||||||
data = {"key": "value"}
|
|
||||||
try:
|
|
||||||
result = log_agent_data(data)
|
|
||||||
print(result)
|
|
||||||
except Exception as e:
|
|
||||||
logger.error(f"Logging failed after retries: {e}")
|
|
Loading…
Reference in new issue