mirror of
https://github.com/ansible/awx.git
synced 2026-01-31 17:18:59 -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,7 +26,7 @@ Empirically, the periodic task manager has been effective in the past and will c
|
||||
* Detect finished workflow jobs
|
||||
* Spawn next workflow jobs if needed
|
||||
* For each pending job, start with the oldest created job
|
||||
* If the job is not blocked, and there is capacity in the instance group queue, then mark it as `waiting` and submit the job to RabbitMQ.
|
||||
* If the job is not blocked, and there is capacity in the instance group queue, then mark it as `waiting` and submit the job.
|
||||
|
||||
|
||||
### Job Lifecycle
|
||||
|
||||
@@ -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