Some checks failed
Build and Deploy / build-and-deploy (push) Has been cancelled
Split from coop monolith. Includes: - Market/browse/product blueprints - Product sync API - Suma scraping pipeline - Templates for market, browse, and product views - Dockerfile and CI workflow for independent deployment
27 lines
676 B
Python
27 lines
676 B
Python
# replace your existing upsert_product with this version
|
|
|
|
import os
|
|
import httpx
|
|
|
|
from typing import List
|
|
|
|
async def capture_listing(
|
|
url: str,
|
|
items: List[str],
|
|
total_pages: int
|
|
):
|
|
|
|
sync_url = os.getenv("CAPTURE_LISTING_URL", "http://localhost:8000/market/api/products/listing/")
|
|
|
|
async with httpx.AsyncClient(timeout=httpx.Timeout(20.0, connect=10.0)) as client:
|
|
_d = {
|
|
"url": url,
|
|
"items": items,
|
|
"total_pages": total_pages
|
|
}
|
|
resp = await client.post(sync_url, json=_d)
|
|
# Raise for non-2xx
|
|
resp.raise_for_status()
|
|
data = resp.json() if resp.content else {}
|
|
return data
|
|
|