Marsad

4. Trace a Workflow

Follow one analysis job through the Web App, queue, worker, callback, and result.

Trace an Analysis Workflow

Expected time: 30 minutes

Outcome: You can locate a job at every boundary using its stable identifier.

Use a small, non-sensitive dataset approved for development. The goal is to observe the path, not to test model quality or process production data.

1. Start From the User Action

In the Web App, upload or select the approved dataset and request one analysis supported by your environment. Keep the browser's Network panel open.

Find the Web App request that starts the job and record:

  • the Web App route, HTTP method, and response status;
  • the job ID or file metadata ID returned to the UI; and
  • the first user-visible job state.

Do not record authorization headers, cookies, prompts, or dataset contents.

2. Find the Web App Boundary

In main/, search for the route path or a distinctive request field:

rg "part-of-the-route-or-field-name" src

Identify where the Web App:

  1. authenticates and authorizes the user;
  2. validates the request and file ownership;
  3. creates or updates the job record; and
  4. sends the server-to-server request to the Model Server.

3. Follow the Model Server and Queue

In model-server/, search for the endpoint or operation name:

rg "endpoint-or-operation-name" .

Identify the request validation, the queue name, and the worker function. For the normal analysis path, the tasks worker must be consuming. An accepted request should return promptly rather than performing expensive processing inside the HTTP handler.

Use the job ID to correlate recent service and worker logs. A healthy path moves from accepted/enqueued to started and then a terminal state.

4. Follow Storage and Completion

Confirm that exchanged file locations are forward-slash paths beginning with shared-data/, never host-specific absolute paths. Both services should resolve the same content through the shared mount.

Then locate the notification or callback step. It should send the stable job identifier to the private Web App callback route, where the Web App validates the callback credential and persists the result.

5. Confirm the User-Visible Result

Return to the browser and verify that the job reaches its final state without manually editing the database. Open the resulting analysis view and confirm that it belongs to the same job or file you traced.

For the complete sequence and failure behavior, use Analysis Job Flow. For other paths, see Data Collection Flow and Report Generation Flow.

Checkpoint

Show your onboarding partner one stable job ID and point to the code that accepts it, enqueues it, processes it, and handles its callback. Share identifiers only from the safe development environment.

Next: make a small change →

On this page