> For the complete documentation index, see [llms.txt](https://developer.esw.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.esw.com/adobe-commerce-magento/integration/asynchronous-integration.md).

# Asynchronous Integration

Asynchronous integration lets Adobe Commerce process ESW tasks in the background instead of during the main request flow.

This improves reliability for queue-based features such as catalog export and webhook processing.

### How asynchronous processing works

Adobe Commerce uses message queues and consumers to process background jobs.

Consumers read messages from the queue and execute them through cron or an external process manager.

The ESW extension uses these consumers:

* `eshopworld_catalog_product.export` for catalog export jobs
* `eshopworld_checkout.webhooks` for webhook processing jobs

{% hint style="info" %}
If these consumers are not running, queued ESW actions will stay pending and related sync flows will not complete.
{% endhint %}

### When this setup is required

Async processing is required for features that depend on queue consumers, including:

* catalog export
* webhook-driven cancellations
* webhook-driven appeasements
* other ESW flows that defer processing to Adobe Commerce queues

### Adobe Commerce Cloud setup

To enable ESW consumers on Adobe Commerce Cloud:

1. Create a `.magento.env.yaml` file in the project root if it does not already exist.
2. Configure `CRON_CONSUMERS_RUNNER` so Cloud runs consumers during deployment.
3. Commit the change.
4. Deploy the updated configuration.

Use a configuration like this:

```yaml
stage:
  deploy:
    CRON_CONSUMERS_RUNNER:
      cron_run: true
      max_messages: 10000
      consumers: []
```

The empty `consumers` list allows the default and module consumers to run together.

### Verify the setup

After deployment:

1. Confirm cron is running in the environment.
2. Confirm queue consumers are being started by `consumers_runner` or your process manager.
3. Trigger an ESW action that uses async processing.
4. Check that the related record moves out of a pending state.

If needed, review the Adobe Commerce guidance on [managing message queues](https://experienceleague.adobe.com/en/docs/commerce-operations/configuration-guide/message-queues/manage-message-queues).

### Expected result

After setup is complete:

* ESW queue consumers run in the background
* webhook and catalog jobs are processed asynchronously
* pending sync actions can complete without blocking the shopper flow


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.esw.com/adobe-commerce-magento/integration/asynchronous-integration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
