Mirror of mitogen
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
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
ansible_mitogen core: replace Queue with Latch 7 years ago
docs docs: add Message documentation 7 years ago
examples ansible: delete old needless host_vars directory 7 years ago
mitogen core: replace Queue with Latch 7 years ago
tests select: clean up API. 7 years ago
.gitignore gitignore: distutils output files 7 years ago
.travis.yml Remove overall build timeout from .travis.yml. 7 years ago
LICENSE Add license text everywhere. 7 years ago
README.md Describe the installation and test process 7 years ago
dev_requirements.txt Move django test script into permanent test 7 years ago
preamble_size.py Split up parent and master modules 7 years ago
setup.py ansible: restructure to avoid intermediate imports 7 years ago
test.sh Describe the installation and test process 7 years ago

README.md

Running The Tests

Build Status

Your computer should have an Internet connection, and the docker command line tool should be able to connect to a working Docker daemon (localhost or elsewhere for OS X etc.) that can run new images.

The IP address of the Docker daemon must allow exposing ports from running containers, e.g. it should not be firewalled or port forwarded.

If in doubt, just install Docker on a Linux box in the default configuration and run the tests there.

Steps To Prepare Development Environment

  1. Get the code git clone https://github.com/dw/mitogen.git
  2. Go into the working directory cd mitogen
  3. Establish the docker image ./tests/build_docker_image.py
  4. Build the virtual environment virtualenv ../venv
  5. Enable the virtual environment we just built source ../venv/bin/activate
  6. Install Mitogen in pip editable mode pip install -e .
  7. Run test.sh