我试图让工具提示有一个格式很好的日期时间值,它是微秒精度。使用以下代码,我总是得到一个TB%明显不正确的测量值。我希望工具提示中的“日期”以与数据框中“date_time”字段相同的格式显示。
import pandas as pd
from bokeh.models import HoverTool
from bokeh.models.formatters import DatetimeTickFormatter
from bokeh.plotting import figure, output_notebook, show
output_notebook()
p = figure(plot_width=400, plot_height=400, x_axis_type="datetime")
d = {
'timestamp_micros': [1530479286336096,1530479286362156,1530479286472230,1530479286488213,1530479286495292],
'height': [6, 7, 2, 4, 5],
'info': ['foo','bar','baz','qux','quux'],
}
df = pd.DataFrame(data=d)
df['date_time'] = pd.to_datetime(df['timestamp_micros'], unit='us')
display(df)
p.circle(x='date_time', y='height', source=df, line_width=2, size=15, color="navy", alpha=0.5)
p.line(x='date_time', y='height', source=df, line_width=2, color="navy", alpha=0.5)
hover = HoverTool(
tooltips = [
("Date", "@date_time{%Y-%m-%d %H:%M:%S.%f}"),
("Value", "@height{0.000000}"),
("info", "@info"),
],
formatters={
'Date': 'datetime',
'Value' …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个简单的监控系统,它会定期检查事物并记录它们。这是我尝试使用的逻辑的简化示例,但我不断收到RuntimeWarning: coroutine 'foo' was never awaited错误消息。
我应该如何从自身重新安排异步方法?
test.py 中的代码:
import asyncio
from datetime import datetime
async def collect_data():
await asyncio.sleep(1)
return {"some_data": 1,}
async def foo(loop):
results = await collect_data()
# Log the results
print("{}: {}".format(datetime.now(), results))
# schedule to run again in X seconds
loop.call_later(5, foo, loop)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.create_task(foo(loop))
loop.run_forever()
loop.close()
Run Code Online (Sandbox Code Playgroud)
错误:
pi@raspberrypi [0] $ python test.py
2018-01-03 01:59:22.924871: {'some_data': 1}
/usr/lib/python3.5/asyncio/events.py:126: RuntimeWarning: coroutine 'foo' was never awaited
self._callback(*self._args)
Run Code Online (Sandbox Code Playgroud) 我有一个简单的命令和控制服务器server.py(完全不安全 - 不要使用),一个被动客户端update_client.py和另一个可以发送命令的客户端update_commander.py。http://0.0.0.0:8080/处有一个 http 端点,其中列出了已连接的客户端。当update_commander.py脚本退出时,其客户端会被正确清理。当 update_client.py断开连接时,服务器不会注意到断开连接,并且在发送进一步的消息后,我update_commander.py会收到每个幽灵客户端连接的错误socket.send() raised exception.。清理代码标记为### CLEANUP CODE ###
我觉得我应该做的是,当我尝试发送到套接字但没有引发异常,只是向标准输出发送一条消息时捕获错误。
服务器.py
import uuid
import asyncio
import aiohttp
from aiohttp import web
class Client(object):
def __init__(self):
self.websocket = None
self.name = None
class ClientList(web.View):
async def get(self):
clients = self.request.app['clients']
client_list = [client.name for name, client in clients.items()]
txt = ", ".join(client_list)
return web.Response(text=txt)
class WebSocket(web.View):
async def get(self):
ws = web.WebSocketResponse()
await …Run Code Online (Sandbox Code Playgroud)