Skip to main content

Background tasks

Long jobs (bulk imports, large scrapes, transcription, heavy syncs) can run in the background so chat stays responsive. You describe the outcome and that the work may take a while; GenieForge can move it off the interactive loop. A custom tool can also be marked Always runs as a background job under App Blueprint → Tools, so every call (chat, a page action, or a form) starts the job instead of waiting. Results should land in the database or project files as work progresses. Prefer background work over packing the same bulk job into a single Build turn. See How building works.

How to verify

  1. Start the job from the page, flow, or Build turn that owns it.
  2. Open project Executions (filters include Background Tasks and Tool Calls).
  3. Inspect Input, logs, Error, and Result on the row.
  4. Confirm rows or files landed in the project as expected, and that a cancel or retry does not create duplicates.

Status lifecycle

Tasks commonly move through: Open a row in Executions for Input, logs, Error, and Result. If a run looks stuck but still logs, the UI may mark it as timed out while logs continue; read the banner on the detail view. If the worker process exits without reporting back, the row flips to failed within about a minute instead of staying on running until the long timeout.

Cancel

On a pending or running task, use Cancel Task when you intentionally stop the job. Cancellation is for operator control; imports should tolerate a cancel or retry without duplicate rows.

Credits

Moving bulk work into background tasks tends to keep interactive Build cheaper than doing the same work in the main chat loop. When the platform records usage, Executions can show credits on the task. Details: Controlling credits.