{"record":{"id":"026a6865b6ab8eee","repo":"zylon-ai/private-gpt","slug":"async-ingestion-is-not-supported-by-the-configured","errorCode":null,"errorMessage":"Async ingestion is not supported by the configured scheduler","messagePattern":"Async ingestion is not supported by the configured scheduler","errorType":"http","errorClass":"HTTPException","httpStatus":501,"severity":"error","filePath":"private_gpt/server/ingest/ingest_router.py","lineNumber":679,"sourceCode":"    * PDFs generate one document per page\n    * Large files are automatically split into chunks\n    * Progress can be monitored via /artifacts/ingest/async/{task_id}\n    * Resulting context is available in chat/completion APIs\n    * Ingested content can be filtered using metadata\n\n    Important to know:\n    - Since binary data cannot be passed directly to Celery tasks, files are\n      first uploaded to a temporary S3 bucket. The Celery task then retrieves\n      the file from S3 for processing. This can incur additional time.\n\n    \"\"\"\n    scheduler = request.state.injector.get(IngestionSchedulerFactory).get()\n    try:\n        task_id = scheduler.ingest_async(body)\n    except NotImplementedError as exc:\n        from fastapi import HTTPException\n\n        raise HTTPException(\n            status_code=501,\n            detail=\"Async ingestion is not supported by the configured scheduler\",\n        ) from exc\n    return Task(task_id=task_id)\n\n\ndef ingest_data_sync(\n    collection: str,\n    artifact: str,\n    data_path: Path,\n    service: IngestService,\n    metadata: dict[str, Any] | None,\n) -> IngestResponse:\n    \"\"\"Internal helper function for synchronous document ingestion processing.\n\n    Handles the core ingestion workflow including artifact initialization\n    and vector index population for both file and text ingestion.\n    \"\"\"","sourceCodeStart":661,"sourceCodeEnd":697,"githubUrl":"https://github.com/zylon-ai/private-gpt/blob/4a030776a31a901ad80b1bf4d7faa2c1a367efbb/private_gpt/server/ingest/ingest_router.py#L661-L697","documentation":"Error \"Async ingestion is not supported by the configured scheduler\" thrown in zylon-ai/private-gpt.","triggerScenarios":"Raised when an async ingestion request is made but the configured ingestion scheduler only supports synchronous execution.","commonSituations":"Sending an async ingest request while running the default local scheduler; switch to a scheduler that supports async jobs or use the synchronous endpoint.","solutions":["Configure a scheduler that supports async ingestion (e.g. set scheduler.chat.mode='arq' with the arq worker running).","Use the synchronous ingestion endpoint instead of async ingestion.","Enable and configure the required task queue backend (Redis/arq) so the scheduler supports async ingestion."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4a030776a31a901ad80b1bf4d7faa2c1a367efbb","analyzedAt":"2026-08-15T03:51:26.951Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}