Replies: 1 comment
-
|
user selcts job from job list h0ttps://forgetunnel.loca.lt/v1/jobs?limit=10&skip=0 response
then no response Request URL next Request URL next next https://forgetunnel.loca.lt/v1/jobs/e440aa89-c3ab-4a4f-8364-0a75145c7950?_t=1774185150983
|
Beta Was this translation helpful? Give feedback.



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Complete Flow: Job Click → Job Details
🖥️ Frontend Files
┌───┬──────────────────────────────────────────┬────────────────────────────────────────────────────────┐ │ # │ File │ Purpose │ ├───┼──────────────────────────────────────────┼────────────────────────────────────────────────────────┤ │ 1 │ web-ui/src/components/JobList.tsx │ Renders jobs list, onClick={() => onJobSelect(job)} │ │ 2 │ web-ui/src/App.tsx:616 │ onJobSelect={setSelectedJob} - sets selected job state │ │ 3 │ web-ui/src/App.tsx:498-511 │ Polling effect - calls getJob() every 1s │ │ 4 │ web-ui/src/api/client.ts:88-94 │ getJob(jobId) - fetches job details │ │ 5 │ web-ui/src/components/JobStatus.tsx │ Displays job status and progress │ │ 6 │ web-ui/src/hooks/useJobProgress.ts │ WebSocket hook for real-time updates │ │ 7 │ web-ui/src/components/ResultsPanel.tsx │ Renders job summary │ │ 8 │ web-ui/src/components/ArtifactViewer.tsx │ Paginated results viewer │ └───┴──────────────────────────────────────────┴────────────────────────────────────────────────────────┘🛠️ Backend Files (in order)
┌───┬──────────────────────────────────────────┬─────────────────────────────────────────────┐ │ # │ File │ Purpose │ ├───┼──────────────────────────────────────────┼─────────────────────────────────────────────┤ │ 1 │ server/app/api_routes/routes/jobs.py:222 │ GET /v1/jobs/{job_id} endpoint │ │ 2 │ server/app/api_routes/routes/jobs.py:399 │ GET /v1/jobs/{job_id}/result lazy load │ │ 3 │ server/app/api_routes/routes/jobs.py:477 │ GET /v1/jobs/{job_id}/result/page paginated │ │ 4 │ server/app/models/job.py │ Job SQLAlchemy model │ │ 5 │ server/app/schemas/job.py │ Pydantic response schemas │ │ 6 │ server/app/realtime/job_progress_router.py │ WebSocket /v1/ws/jobs/{job_id} │ └───┴──────────────────────────────────────────┴─────────────────────────────────────────────┘Flow
✦ User clicks job in JobList
↓
App.tsx setSelectedJob(job)
↓
Polling effect triggers getJob(id) every 1s
↓
GET /v1/jobs/{job_id} → jobs.py:get_job()
↓
DB query → JobResultsResponse
↓
JobStatus.tsx displays status
↓
ResultsPanel.tsx displays results
Beta Was this translation helpful? Give feedback.
All reactions