aigc.py 992 B

12345678910111213141516171819202122232425262728293031323334353637
  1. """
  2. @author: luojunhui
  3. """
  4. import asyncio
  5. import aiohttp
  6. TIMEOUT_CODE = 0
  7. async def async_record(url, params) -> int:
  8. """
  9. 异步请求函数
  10. """
  11. try:
  12. async with aiohttp.ClientSession(timeout=aiohttp.ClientTimeout(total=10)) as session:
  13. async with session.get(url, params=params) as response:
  14. return response.status
  15. except asyncio.TimeoutError:
  16. return TIMEOUT_CODE
  17. async def record_trace_id(trace_id, status) -> bool:
  18. """
  19. 记录成功的trace_id
  20. """
  21. OK_STATUS = 200
  22. RETRY_TIMES = 3
  23. url = "http://aigc-api.cybertogether.net//aigc/publish/api/notifyMatchMiniprogramResult"
  24. params = {"traceId": trace_id, "status": status}
  25. # response_status_code = await async_record(url, params)
  26. for _ in range(RETRY_TIMES):
  27. response_status_code = await async_record(url, params)
  28. if response_status_code == OK_STATUS:
  29. return True
  30. await asyncio.sleep(1)
  31. return False