David Wilson
4903052f42
fork: reseed Python/SSL PRNGs
...
Mac's SSL seems to have a pthread_atfork handler or similar that does
this for us, no clue if Linux is the same.
7 years ago
David Wilson
7f4368db87
docs: pad out signal handlers note
7 years ago
David Wilson
d68833757b
docs: slightly bikeshed last testimonial
7 years ago
dw
d23a6174a2
Merge pull request #167 from danielcompton/patch-1
...
Add testimonial from Clojars
7 years ago
David Wilson
0dbb63ae3d
docs: typo
7 years ago
David Wilson
b254373cd7
docs: add local task serialization risk
7 years ago
Daniel Compton
871b853b59
Add testimonial from Clojars
7 years ago
David Wilson
2813d1a968
docs: update
7 years ago
David Wilson
5579ac936b
issue #155 : docs: more fork() liability warnings
7 years ago
David Wilson
f457f54758
docs: fix formatting
7 years ago
David Wilson
d370290687
docs: one more warning
7 years ago
David Wilson
03e08e25fd
docs: put huge liability notice in fork() docs.
7 years ago
David Wilson
48351a1889
issue #155 : parent: support Context.shutdown(), reap children on exit.
...
This permits graceful shutdown of individual contexts, without tearing
down everything.
Update mitogen.parent.Stream to also wait for the child to exit, to
prevent the buildup of zombie processes. This introduces a blocking wait
for process exit on the Broker thread, let's see if we can get away with
it. Chances are reasonable that it'll cause needless hangs on heavily
loaded machines.
7 years ago
David Wilson
6a74edce6b
issue #155 : parent: move master.Context into parent.
...
The Context and Router APIs for constructing children and making
function calls should be available in every parent context, as user code
wants to have access to the same API.
7 years ago
David Wilson
447353ecb8
docs: ansible.rst: note multi-host perf isn't great right now
7 years ago
David Wilson
20780820a6
docs: typo
7 years ago
David Wilson
75b9e1d71e
issue #155 : docs: document behaviour of forked children
7 years ago
David Wilson
110fdf24cd
docs: add mitogen.fork.Stream to internals.rst
7 years ago
David Wilson
1a8ac9f4d1
issue #155 : introduce mitogen.fork / Router.fork()
7 years ago
David Wilson
27175e3126
docs: tidy up signals.rst a little.
7 years ago
David Wilson
732a610246
docs: add beginnings of section on func decorators
7 years ago
David Wilson
2abe87472c
issue #162 : docs: begin documenting mitogen.service
7 years ago
David Wilson
54ff1c90fa
issue #155 : add DEL_ROUTE, propagate ADD_ROUTE upwards
...
* IDs are allocated by the parent responsible for contructing a new
child, using ALLOCATE_ID to the master as necessary to allocate new ID
ranges.
* ADD_ROUTE is sent up the tree rather than down. This permits
construction of the new context to complete concurrent to parent
contexts learning about its existence. Since all streams are strictly
ordered, it's not possible for any parent to observe messages from the
new context prior to arrival of an ADD_ROUTE from the parent notifying
of its existence.
If the new context, for example, implements an Ansible async task, its
parent can start executing that without waiting for any synchronous
confirmation from any parent or the master.
* Since routes propagate up, it's no longer possible for a plain
non-parent child to ever receive ADD_ROUTE, so that code can be moved
out of core.py and into parent.py (-0.2kb compressed).
* Add a .routes attribute to parent.Stream, and respond to disconnection
signal on the stream by propagating DEL_ROUTE for any ADD_ROUTE ever
received from that stream.
* Centralize route management in a new parent.RouteMonitor class
7 years ago
David Wilson
aeeeb45ccb
docs: farewell, glorious iframe!
7 years ago
David Wilson
1ed86774b5
issue #156 : document select exception
7 years ago
David Wilson
20f5d89dfa
issue #156 : fix several more races
...
* Don't need to sleep if queue>sleepers, can just pop the right queue
element and return it.
* If queue>sleeping and waking==sleeping, no mechanism existed to ensure
a thread newly added to sleeping would ever be woken. Above change
fixes that.
* Cannot trust select() return value, scheduler might sleep us
indefinitely while put() writes a byte.
* Sleeping threads didn't pop FIFO, they popped in whatever order
scheduler woke them up. Must recover index and use it to pick the pop
index.
7 years ago
David Wilson
526b0a514b
issue #156 : prevent Latch.close() triggering spurious wakeups
7 years ago
David Wilson
18e2977baf
docs: annoying phrasing
7 years ago
David Wilson
2c22c41819
issue #156 : don't decrement `waking` if we timed out rather than being woken.
7 years ago
David Wilson
07a8994ff5
issue #156 : waking thread result dictionary with an integer.
7 years ago
David Wilson
b5398bd17f
issue #156 : docs typo
7 years ago
David Wilson
512ff77a46
issue #156 : prevent non-sleeping threads from starving sleeping threads.
...
See new docs
7 years ago
David Wilson
148ce1d703
issue #155 : increase context ID width to 32 bits
...
Needed to make large range allocations (1000 per ALLOCATE_ID roundtrip)
feasible.
7 years ago
David Wilson
071d9fbfb3
docs: tidy ansible docs.
7 years ago
David Wilson
f241eac5ce
parent: allow Python to determine its install prefix from argv[0]
...
Fixes support for virtualenv. Closes #152 .
7 years ago
David Wilson
dec3af375a
issue #144 : ansible: increase default pool size to 16.
7 years ago
David Wilson
4f361be7e7
issue #144 : teach Select() to close its latch
...
Causes all threads sleeping on the select to wake.
7 years ago
David Wilson
8aada2646c
core: support throwing LatchError in every sleeping thread
...
This is to allow Select() to be used as a generic queueing primitive
that supports graceful shutdown.
7 years ago
David Wilson
7a74bb0a39
docs: update ansible risks/differences.
7 years ago
David Wilson
bcc15987fc
docs: extra ansible paragraph.
7 years ago
David Wilson
7a394dc73e
ansible: allow establishment of duplicate SSH connections
7 years ago
David Wilson
4691ce0b95
issue #150 : ansible: add basic Docker support.
7 years ago
David Wilson
67ff762ba5
issue #139 : docs: remove note about bad buffering
7 years ago
David Wilson
d1888f1908
docs: reorder sections
7 years ago
David Wilson
014247ce66
docs: another crazy Ansible success story
7 years ago
Alex Willmer
7063d172e9
tests: Add Tox config for Python 2.6 and 2.7
...
I could not get Python 2.5 or earlier to work. Too many packages
(critically docker) don't support it.
7 years ago
David Wilson
88c198ea05
issue #141 : copy Ansible's connect_timeout for sudo too.
7 years ago
David Wilson
63c3fc623c
docs: note the semantic difference in Mitogen vs. Ansible timeouts
...
Related to issue #141 .
7 years ago
David Wilson
8f85943083
issue #139 : mention relating buffering issue
7 years ago
David Wilson
1f1d691a28
docs: update to match @moreati's code golf birdies :)
7 years ago
Alex Willmer
9aa83ef77f
docs: First round of Pickle-likes survey
7 years ago
Alex Willmer
a1fc21bb06
docs: Maximum size of pencode values
7 years ago
Alex Willmer
e24db89f3a
docs: Disco comparison
7 years ago
Alex Willmer
04f4851138
docs: multiprocessing comparison
...
Not strictly a rival, but has enough commonalities to be worth noting
7 years ago
Alex Willmer
8c227b2bdd
docs: More detail about Baker
7 years ago
Alex Willmer
e06e438228
docs: More detail about execnet
7 years ago
Alex Willmer
da58f8595d
docs: More detail about chopsticks
7 years ago
Alex Willmer
d7fbb9aef6
docs: Link compared projects to their website
...
All outgoing links checked with
```bash
cd docs
make linkcheck
```
7 years ago
Alex Willmer
4615ab1a8e
docs: Enable sphinx-autobuild
...
```bash
cd docs
make
```
to run a webserver that automatically rerenders whenever the rST is
modified.
7 years ago
David Wilson
f8c85b549f
docs: typo
7 years ago
David Wilson
dc9dda08e1
Add link to IRC; closes #116
7 years ago
David Wilson
b2a433dcc4
ssh: CompressionLevel is a v1-only option.
...
It's ignored by newer SSHes, which only pay attention to Compression.
7 years ago
Alex Willmer
1c20c61605
docs: Convert all URLs that support https://
...
Excluded: graphml XML namespaces, links to e.g. Fabric homepage
Fixes #128
7 years ago
David Wilson
089f39716e
docs: beginnings of testimonials section
7 years ago
David Wilson
500c4f419c
docs: update limitations list for Ansible.
7 years ago
David Wilson
537a263261
docs: So many typos
7 years ago
David Wilson
6bd4c5ead5
docs: Ansible logging update ( #111 )
7 years ago
David Wilson
4f352d7d4b
Pin Sphinx version
7 years ago
David Wilson
53e51c4af8
docs: update Python 3 support to match reality.
7 years ago
David Wilson
ce9a1fef26
docs: fix float
7 years ago
David Wilson
04bb5881b6
ansible: doc updates
7 years ago
David Wilson
9515291024
docs: small fix
7 years ago
David Wilson
3ddbf1a503
ansible: basic support for ssh_args
7 years ago
David Wilson
1b28252ad0
docs: get rid of "medium risk" category
7 years ago
David Wilson
da00437f1e
ansible: Support ansible_ssh_private_key_file
7 years ago
David Wilson
a87b665099
ansible: limited support for become_flags, more docs.
7 years ago
David Wilson
235e1df987
sudo: support parsing sudo flags back out into parameters
7 years ago
David Wilson
cd53023768
docs: Fix install docs now Ansible package layout changed.
7 years ago
David Wilson
03e51fdaa7
docs: mitogen.core.Latch docs
7 years ago
David Wilson
712e5dfca1
docs: fix image labels
7 years ago
David Wilson
c2793b7102
docs: import but don't link compared.rst
7 years ago
David Wilson
2ecc6f43a4
docs: Import, but do not yet link signals.rst
7 years ago
David Wilson
7cf2edc3a8
ansible: Support many more common playbook variables.
7 years ago
David Wilson
ba644e184d
docs: Split up limitations list, add warning
7 years ago
David Wilson
3183dd4147
ansible: initial support for async jobs
...
Running in a thread to begin with, but this must change.
7 years ago
David Wilson
e913c11e50
docs: new Ansible limitation
7 years ago
David Wilson
860a635500
docs: remove delegate_to limitation
7 years ago
David Wilson
dfdb7ab128
docs: more Ansible
7 years ago
David Wilson
cf7f8ff490
docs: document one more Ansible limitation
7 years ago
David Wilson
7179ca163b
docs: Replace shifty hacker dude with plebey skater dude
...
Farewell, shifty hacker dude! May your 0days be many and your
indictments be few
7 years ago
David Wilson
0c056ddbe2
docs: new Ansible limitation, add new heading
...
Some differences are eventually likely to become permanent, because the
existing behaviour is unforgiveable.
7 years ago
David Wilson
14251539cd
docs: Docker typo.
7 years ago
David Wilson
5036a9448f
Add Docker method.
7 years ago
David Wilson
77f6b31e5c
docs: more images.
7 years ago
David Wilson
56b563161b
docs: single-threaded connection is the most important limitation
7 years ago
David Wilson
c1bea0dd49
docs: store blog images for fear of laptop crash
...
There is only so much trackpad-driven yEd work one man can handle
7 years ago
David Wilson
dd9d3494e0
docs: small ansible.rst updates
7 years ago
David Wilson
ce6648da51
docs: mention CPU usage reduction
7 years ago
David Wilson
270db025c0
docs: fix up Ansible install docs.
7 years ago
David Wilson
e9060b3b7f
docs: more modest and accurate numbers for Ansible
7 years ago