mirror of
https://github.com/semaphoreui/semaphore.git
synced 2025-01-21 07:49:34 +01:00
8bc1b7f2d2
Two different concurrency modes are implemented, and is enabled by setting "concurrency_mode" in the config file to either "project" or "node". When "project" concurrency is enabled, tasks will run in parallel if and only if they do not share the same project id, with no regard to the nodes/hosts that are affected. When "node" concurrency is enabled, a task will run in parallel if and only if the hosts affected by tasks already running does not intersect with the hosts that would be affected by the task in question. If "concurrency_mode" is not specified, no task will start before the previous one has finished. The collision check is based on the output from the "--list-hosts" argument to ansible, which uses the hosts specified in the inventory. Thus, if two different hostnames are used that points to the same node, such as "127.0.0.1" and "localhost", there will be no collision and two tasks may connect to the same node concurrently. If this behaviour is not desired, one should make sure to not include aliases for their hosts in their inventories when enabling concurrency mode. To restrict the amount of parallel tasks that runs at the same time, one can add the "max_parallel_tasks" to the config file. This defaults to a humble 10 if not specified. |
||
---|---|---|
.. | ||
alert.go | ||
http.go | ||
inventory.go | ||
logging.go | ||
pool.go | ||
runner.go |