# gevent

# Example processes.py

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28

    #!/usr/bin/env python
    from __future__ import print_function
    import gevent
    from gevent import subprocess

    import sys

    if sys.platform.startswith("win"):
        print("Unable to run on windows")
    else:
        # run 2 jobs in parallel
        p1 = subprocess.Popen(['uname'], stdout=subprocess.PIPE)
        p2 = subprocess.Popen(['ls'], stdout=subprocess.PIPE)

        gevent.wait([p1, p2], timeout=2)

        # print the results (if available)
        if p1.poll() is not None:
            print('uname: %r' % p1.stdout.read())
        else:
            print('uname: job is still running')
        if p2.poll() is not None:
            print('ls: %r' % p2.stdout.read())
        else:
            print('ls: job is still running')

        p1.stdout.close()
        p2.stdout.close()

Current source

Next page: Example psycopg2_pool.py