Commit Graph

18 Commits (c7ae317dd1dda56f460e1b4c3821f105e3972804)

Author SHA1 Message Date
David Wilson 6a7930ae48 ansible: gracefully shut down the service thread at exit. 7 years ago
David Wilson 87db049669 ansible: delete utils.py and promote cast() to mitogen.utils 7 years ago
David Wilson 9d15d1fce8 ansible: document Strategy's implementation 7 years ago
David Wilson 7c1cc064a4 ansible: migrate logging variables into utils. 7 years ago
David Wilson 038cd02136 ansible: document the connection class. 7 years ago
David Wilson 4bd40bd257 ansible: remove old action subdirectory. 7 years ago
David Wilson 41b27d969c ansible: clean up, structure and document strategy module. 7 years ago
David Wilson c175fbfaf7 ansible: handle local connections and synchronize module too. 7 years ago
David Wilson 7a56ea46ed ansible: fix syntax error 7 years ago
David Wilson 698996dc27 ansible: support local connections too 7 years ago
David Wilson 9219e9a125 ansible: support class_only=True in wrapped loader 7 years ago
David Wilson 5d9363be79 ansible: blacklist everything except our own namespaces
Farewell, pointless roundtrips, we hardly knew ye.
7 years ago
David Wilson d0fbcc0f48 ansible: generalized action module wrapping. 7 years ago
David Wilson 371a259a5e ansible: remove hard-wired UNIX socket path. 7 years ago
David Wilson 8121530144 core: replace Queue with Latch
On Python 2.x, operations on pthread objects with a timeout set actually
cause internal polling. When polling fails to yield a positive result,
it quickly backs off to a 50ms loop, which results in a huge amount of
latency throughout.

Instead, give up using Queue.Queue.get(timeout=...) and replace it with
the UNIX self-pipe trick. Knocks another 45% off my.yml in the Ansible
examples directory against a local VM.

This has the potential to burn a *lot* of file descriptors, but hell,
it's not the 1940s any more, RAM is all but infinite. I can live with
that.

This gets things down to around 75ms per playbook step, still hunting
for additional sources of latency.
7 years ago
David Wilson d3e79fc240 ansible: support become:True and become_user 7 years ago
David Wilson 3a96389d08 ansible: automatically configure connection plug-in. 7 years ago
David Wilson 8598ff07b3 ansible: restructure to avoid intermediate imports 7 years ago