[
https://issues.apache.org/jira/browse/CAMEL-23458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino reassigned CAMEL-23458:
----------------------------------------
Assignee: Andrea Cosentino
> camel-docling: Add consumer support for async task completion events
> --------------------------------------------------------------------
>
> Key: CAMEL-23458
> URL: https://issues.apache.org/jira/browse/CAMEL-23458
> Project: Camel
> Issue Type: Improvement
> Components: camel-docling
> Reporter: Andrea Cosentino
> Assignee: Andrea Cosentino
> Priority: Major
>
> The component is producer-only today: {{DoclingEndpoint}} explicitly rejects
> consumer creation. This forces users who want event-driven processing of
> long-running async conversions to either poll {{CHECK_CONVERSION_STATUS}}
> themselves or set up out-of-band orchestration.
> h3. Proposed feature
> Add a consumer that subscribes to docling-serve task lifecycle events. Two
> viable strategies (the implementation should pick one or expose both via
> configuration):
> * *Polling consumer* — periodically scans pending task ids (those previously
> submitted via {{SUBMIT_ASYNC_CONVERSION}}) and emits an exchange when a task
> transitions to {{SUCCESS}} or {{FAILURE}}
> * *Webhook consumer* — exposes an HTTP endpoint that docling-serve POSTs to
> when a task completes, reusing existing Camel HTTP infrastructure
> h3. Why this matters
> * Enables idiomatic event-driven Camel routes:
> {{from("docling:onComplete?...").to("...")}}
> * Avoids fragile sleep-based polling in user code
> * Makes async conversions composable with the rest of Camel's EIPs
> h3. Acceptance criteria
> * {{DoclingEndpoint.createConsumer()}} returns a working consumer
> * Consumer emits one exchange per task completion with the same headers/body
> shape as the synchronous {{CONVERT_*}} operations
> * Configuration options for poll interval (and authentication, reusing the
> existing {{authenticationScheme}}/{{oauthProfile}} options)
> * Integration tests cover both success and failure paths
> * {{docling-component.adoc}} documents the consumer with a worked example
--
This message was sent by Atlassian Jira
(v8.20.10#820010)