On-demand Scout service (replaces the nightly aggregator): - FastAPI agent-mesh service; card name "matchmaking-service" (HTTP /a2a/tasks + Redis-stream worker matching the sibling-service pattern) - run_search: parallel multi-board sweep (Naukri/blackfalcondata + Foundit + LinkedIn), city-filtered at the board, cheapest-per-result first - per-board adapters + normalizers -> ScoutJob with rich read-only details and offsite apply links; recall mode + MVQ guard - result cache for dev replay ($0); per-board cost knobs; retry-on-5xx - research/: engine design, board cost economics, India-actor shortlist, POC
23 lines
689 B
Python
23 lines
689 B
Python
"""shoot.py <url> <out.png> — headless full-page screenshot of a running UI route."""
|
|
import asyncio
|
|
import sys
|
|
|
|
from browser_use import BrowserSession
|
|
from browser_config import make_profile
|
|
|
|
|
|
async def main():
|
|
url, out = sys.argv[1], sys.argv[2]
|
|
wait = float(sys.argv[3]) if len(sys.argv) > 3 else 4.0
|
|
session = BrowserSession(browser_profile=make_profile(headless=True, persist=False))
|
|
await session.start()
|
|
await session.navigate_to(url)
|
|
await asyncio.sleep(wait) # let the Next.js client render
|
|
await session.take_screenshot(path=out, full_page=True)
|
|
await session.kill()
|
|
print("saved", out)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|