pubsub test added to examples folder
This commit is contained in:
42
examples/pubsub.py
Normal file
42
examples/pubsub.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# a very ugly hack
|
||||||
|
import asyncio
|
||||||
|
import asyncio_mongo as mongodb
|
||||||
|
import datetime
|
||||||
|
import sys
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def testfunc():
|
||||||
|
mongo = yield from mongodb.Connection.create('localhost', 27017)
|
||||||
|
|
||||||
|
db = mongo.test
|
||||||
|
c = yield from db.create_collection("pubsub", {"capped":True, "size":100000, "autoIndexId":False})
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def insert_some_doc():
|
||||||
|
mongo = yield from mongodb.Connection.create("localhost", 27017)
|
||||||
|
|
||||||
|
c = mongo.test.pubsub
|
||||||
|
for x in range(3):
|
||||||
|
r = yield from c.insert({"message": "nr: {}".format(x),
|
||||||
|
"datetime": datetime.datetime.now(),})
|
||||||
|
print(r)
|
||||||
|
|
||||||
|
@asyncio.coroutine
|
||||||
|
def sub_test():
|
||||||
|
mongo = yield from mongodb.Connection.create()
|
||||||
|
c = mongo.test.pubsub
|
||||||
|
cursor, docs = yield from c.find(tailable=True, await_data=True)
|
||||||
|
while True:
|
||||||
|
for x in docs:
|
||||||
|
print(x)
|
||||||
|
cursor, docs = yield from cursor
|
||||||
|
#yield from asyncio.sleep(1)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
f = sub_test()
|
||||||
|
if "push" in sys.argv:
|
||||||
|
f = insert_some_doc()
|
||||||
|
asyncio.get_event_loop().run_until_complete(f)
|
||||||
|
|
||||||
Reference in New Issue
Block a user