使用 python meteor 查看数据的实时变化
See real time changes in data using python meteor
我正在使用 Python 从 Mongo 数据库中检索数据以进行分析。
所以我正在使用流星应用程序和客户端 python 更改数据以实时检索它。这是我的代码:
from MeteorClient import MeteorClient
def call_back_meth():
print("subscribed")
client = MeteorClient('ws://localhost:3000/websocket')
client.connect()
client.subscribe('tasks', [], call_back_meth)
a=client.find('tasks')
print(a)
当我 运行 这个脚本时,它只显示 'a' 中的当前数据并且控制台将关闭,
我想让控制台保持打开状态并在发生变化时打印数据。
我已经使用 While True 来让脚本 运行ning 并查看更改,但我想这不是一个好的解决方案。还有其他优化方案吗?
要获得实时反馈,您需要订阅更改,然后监控这些更改。这是观看 tasks
:
的示例
from MeteorClient import MeteorClient
def call_back_added(collection, id, fields):
print('* ADDED {} {}'.format(collection, id))
for key, value in fields.items():
print(' - FIELD {} {}'.format(key, value))
# query the data each time something has been added to
# a collection to see the data `grow`
all_lists = client.find('lists', selector={})
print('Lists: {}'.format(all_lists))
print('Num lists: {}'.format(len(all_lists)))
client = MeteorClient('ws://localhost:3000/websocket')
client.on('added', call_back_added)
client.connect()
client.subscribe('tasks')
# (sort of) hacky way to keep the client alive
# ctrl + c to kill the script
while True:
try:
time.sleep(1)
except KeyboardInterrupt:
break
client.unsubscribe('tasks')
我正在使用 Python 从 Mongo 数据库中检索数据以进行分析。 所以我正在使用流星应用程序和客户端 python 更改数据以实时检索它。这是我的代码:
from MeteorClient import MeteorClient
def call_back_meth():
print("subscribed")
client = MeteorClient('ws://localhost:3000/websocket')
client.connect()
client.subscribe('tasks', [], call_back_meth)
a=client.find('tasks')
print(a)
当我 运行 这个脚本时,它只显示 'a' 中的当前数据并且控制台将关闭,
我想让控制台保持打开状态并在发生变化时打印数据。 我已经使用 While True 来让脚本 运行ning 并查看更改,但我想这不是一个好的解决方案。还有其他优化方案吗?
要获得实时反馈,您需要订阅更改,然后监控这些更改。这是观看 tasks
:
from MeteorClient import MeteorClient
def call_back_added(collection, id, fields):
print('* ADDED {} {}'.format(collection, id))
for key, value in fields.items():
print(' - FIELD {} {}'.format(key, value))
# query the data each time something has been added to
# a collection to see the data `grow`
all_lists = client.find('lists', selector={})
print('Lists: {}'.format(all_lists))
print('Num lists: {}'.format(len(all_lists)))
client = MeteorClient('ws://localhost:3000/websocket')
client.on('added', call_back_added)
client.connect()
client.subscribe('tasks')
# (sort of) hacky way to keep the client alive
# ctrl + c to kill the script
while True:
try:
time.sleep(1)
except KeyboardInterrupt:
break
client.unsubscribe('tasks')