Skip to content

Instantly share code, notes, and snippets.

@hackaugusto
Created March 7, 2019 10:29
Show Gist options
  • Save hackaugusto/5baa9a10e5875a00367b4a6f58d24638 to your computer and use it in GitHub Desktop.
Save hackaugusto/5baa9a10e5875a00367b4a6f58d24638 to your computer and use it in GitHub Desktop.
from itertools import count
import gevent
from gevent.event import AsyncResult
def wait_twice(async_result):
print('wait_twice enter')
gevent.joinall([async_result, async_result], raise_error=True)
print('wait_twice exit')
def set_result(async_result):
print('set_result enter')
async_result.set(1)
print('set_result exit')
def go_for_ever():
print('go_for_ever enter')
for i in count():
print(i)
gevent.sleep(.1)
print('go_for_ever exit')
g = gevent.spawn(go_for_ever)
result = AsyncResult()
gevent.wait([
gevent.spawn(wait_twice, result),
gevent.spawn(set_result, result),
])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment