mirror of
https://github.com/ansible/awx.git
synced 2026-02-01 09:38:10 -03:30
Update some contributing docs
* Update the tools called in the dev environment * More RMQ purges from architecture docs * Remove the old clusterdev target
This commit is contained in:
@@ -26,9 +26,7 @@ Tasks, Queues and Workers
|
||||
|
||||
To accomplish this, AWX makes use of a "Task Queue" abstraction. Task Queues are used as a mechanism to distribute work across machines in an AWX installation. A Task Queue's input is a unit of work called a Task. Dedicated worker processes running on every AWX node constantly monitor these queues for new work to perform.
|
||||
|
||||
AWX communicates with these worker processes to mediate between clients and workers. This is done via distributed RabbitMQ queues and the already-acknowledged local queue that the Dispatcher is working through. Simply put: to initiate a task, the client (generally, Python code in the AWX API) publishes a message to a queue, and RabbitMQ then delivers that message to one or more workers.
|
||||
|
||||
By default, when AWX creates queues in RabbitMQ, it creates them as *durable* queues in RabbitMQ (which allows for message persistence at the cost of lower performance). For increased message throughput (at the risk of message loss on server restarts), set BROKER_DURABILITY=False, and AWX will create _transient_ queues instead.
|
||||
AWX communicates with these worker processes to mediate between clients and workers. This is done via distributed queues and the already-acknowledged local queue that the Dispatcher is working through. Simply put: to initiate a task, the client (generally, Python code in the AWX API) publishes a message to a queue, which is then delivered to one or more workers.
|
||||
|
||||
Clustered AWX installations consist of multiple workers spread across every
|
||||
node, giving way to high availability and horizontal scaling.
|
||||
|
||||
Reference in New Issue
Block a user