Messaging
Messaging queues or "messaging" in short are tasks that run constantly in the background of the application as standalone processes.
For example, when a product or any of its associated data changes, a message containing the product's ID is dispatched to the message bus and sent to a particular transport. One or many workers which process that transport pick up the message and send it to a handler that can handle the message.
The handler in this case loads up the product, normalizes its data and sends it to Elasticsearch. A worker is a single task, or one of the separate processes that process one or many different transports.
A worker can be run in multiple instances in parallel when it's managed by another worker. This is what we call a "multi-worker". It's used on transports such as products or media entries, where 10s of thousands or 100s of thousands of messages should be frequently consumed, as fast as possible.
This, of course, requires adequate system resources.
The storage holding the messages for each of one these transports is usually Redis.
Most workers run as scheduled jobs, as configured in the application.

To purge individual transports, select them and click on "Purge selected transports".
Warning
Do not blindly purge unless you have a good reason to do so. Purged messages will be permanently deleted.
Factory transports:
| Transport | Description |
|---|---|
| messaging.transport.email | All application emails. |
| messaging.transport.media.entry | Downloads, resizes, converts media from local or external sources. |
| messaging.transport.sync | Sync (data import / export) |
| messaging.transport.product.category.index | Re-indexes product categories and category tree to Elasticsearch. |
| messaging.transport.product.index.item | Re-indexes one or many products to Elasticsearch. |
| messaging.transport.product.index | Re-index requests for one or many products. |
| messaging.transport.stock.item.update | Aggregates source items of a product and updates the stock item. |
| messaging.transport.product.bulk.update | Processes product bulk update messages. |
| messaging.transport.product.clear.cache | Clears the cache for one or many products after refreshing the Elasticsearch index. |
| messaging.transport.product.async.sync | Handles product sync messages (product import). |