Doc tweaks.
This commit is contained in:
4
AUTHORS
4
AUTHORS
@@ -5,7 +5,7 @@ Original Authors
|
|||||||
|
|
||||||
Contributors
|
Contributors
|
||||||
------------
|
------------
|
||||||
* R. Tyler Ballance
|
* R\. Tyler Ballance
|
||||||
* Denis Bilenko
|
* Denis Bilenko
|
||||||
* AG Projects
|
* AG Projects
|
||||||
* Mike Barton
|
* Mike Barton
|
||||||
@@ -32,7 +32,7 @@ Thanks To
|
|||||||
* Chuck Thier, reporting a bug in processes.py
|
* Chuck Thier, reporting a bug in processes.py
|
||||||
* Brantley Harris, reporting bug #4
|
* Brantley Harris, reporting bug #4
|
||||||
* Taso Du Val, reproing an exception squelching bug, saving children's lives ;-)
|
* Taso Du Val, reproing an exception squelching bug, saving children's lives ;-)
|
||||||
* Sergey Shepelev, PEP 8 police :-), reporting bug #5, design and implementations of convenience functions listen and connect
|
* Sergey Shepelev, PEP 8 police :-), reporting bug #5, design and implementations of convenience functions listen and connect
|
||||||
* Luci Stanescu, for reporting twisted hub bug
|
* Luci Stanescu, for reporting twisted hub bug
|
||||||
* Marcus Cavanaugh, for test case code that has been incredibly useful in tracking down bugs
|
* Marcus Cavanaugh, for test case code that has been incredibly useful in tracking down bugs
|
||||||
* Brian Brunswick, for many helpful questions and suggestions on the mailing list
|
* Brian Brunswick, for many helpful questions and suggestions on the mailing list
|
||||||
|
@@ -91,7 +91,7 @@ Here's a somewhat contrived example: a server that receives POSTs from clients t
|
|||||||
|
|
||||||
The full version of this example is in the :ref:`feed_scraper_example`, which includes code to start the WSGI server on a particular port.
|
The full version of this example is in the :ref:`feed_scraper_example`, which includes code to start the WSGI server on a particular port.
|
||||||
|
|
||||||
This example uses a global (gasp) :class:`GreenPool <eventlet.greenpool.GreenPool>` to control concurrency. If we didn't have a global limit on the number of outgoing requests, then a client could cause the server to open tens of thousands of concurrent connections to external servers, thereby getting feedparser's IP banned, or various other accidental-or-on-purpose bad behavior. The pool isn't a complete DoS protection, but it's the bare minimum.
|
This example uses a global (gasp) :class:`GreenPool <eventlet.greenpool.GreenPool>` to control concurrency. If we didn't have a global limit on the number of outgoing requests, then a client could cause the server to open tens of thousands of concurrent connections to external servers, thereby getting feedscraper's IP banned, or various other accidental-or-on-purpose bad behavior. The pool isn't a complete DoS protection, but it's the bare minimum.
|
||||||
|
|
||||||
.. highlight:: python
|
.. highlight:: python
|
||||||
:linenothreshold: 1
|
:linenothreshold: 1
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
The db_pool module is useful for managing database connections. It provides three primary benefits: cooperative yielding during database operations, concurrency limiting to a database host, and connection reuse. db_pool is intended to be database-agnostic, compatible with any DB-API 2.0 database module.
|
The db_pool module is useful for managing database connections. It provides three primary benefits: cooperative yielding during database operations, concurrency limiting to a database host, and connection reuse. db_pool is intended to be database-agnostic, compatible with any DB-API 2.0 database module.
|
||||||
|
|
||||||
*Caveat: however, it has currently only been tested and used with MySQLdb.*
|
*It has currently been tested and used with both MySQLdb and psycopg2.*
|
||||||
|
|
||||||
A ConnectionPool object represents a pool of connections open to a particular database. The arguments to the constructor include the database-software-specific module, the host name, and the credentials required for authentication. After construction, the ConnectionPool object decides when to create and sever connections with the target database.
|
A ConnectionPool object represents a pool of connections open to a particular database. The arguments to the constructor include the database-software-specific module, the host name, and the credentials required for authentication. After construction, the ConnectionPool object decides when to create and sever connections with the target database.
|
||||||
|
|
||||||
|
@@ -3,7 +3,8 @@ import sys
|
|||||||
import errno
|
import errno
|
||||||
from code import InteractiveConsole
|
from code import InteractiveConsole
|
||||||
|
|
||||||
from eventlet import api, hubs
|
import eventlet
|
||||||
|
from eventlet import hubs
|
||||||
from eventlet.support import greenlets
|
from eventlet.support import greenlets
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -106,5 +107,5 @@ def backdoor((conn, addr), locals=None):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
backdoor_server(api.tcp_listener(('127.0.0.1', 9000)), {})
|
backdoor_server(eventlet.listen(('127.0.0.1', 9000)), {})
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user