kdb 中 table 更新的回调
callback on table update in kdb
我想在 kdb
中实现客户端服务器机制,客户端可以在其中自行注册,以便在某些 table 更新时接收回调。
我知道回调在 kdb 中是如何工作的,我无法弄清楚如何将服务器中的 table 更新绑定到一个函数,从中我可以从客户端调用“callback
”。
基本上你想实现'Publish-Subscribe'机制。 KDB 在 tick 库中已经有一个脚本 'u.q',它提供:
https://code.kx.com/q/cookbook/publish-subscribe/
在服务器上,它维护客户端列表及其句柄、订阅 table 和回调函数。您必须更改处理数据的服务器上的功能 insert/update 才能同时发布数据。
q) .u.pub[table name; table data]
这将负责调用为此table注册的每个客户端的回调函数。
在客户端,创建与发布者的连接并调用库函数进行订阅。
q) .u.sub[tablename;list_of_symbols_to_subscribe_to]
您还可以查看示例发布者和订阅者代码:https://github.com/KxSystems/cookbook/tree/master/pubsub
我想在 kdb
中实现客户端服务器机制,客户端可以在其中自行注册,以便在某些 table 更新时接收回调。
我知道回调在 kdb 中是如何工作的,我无法弄清楚如何将服务器中的 table 更新绑定到一个函数,从中我可以从客户端调用“callback
”。
基本上你想实现'Publish-Subscribe'机制。 KDB 在 tick 库中已经有一个脚本 'u.q',它提供: https://code.kx.com/q/cookbook/publish-subscribe/
在服务器上,它维护客户端列表及其句柄、订阅 table 和回调函数。您必须更改处理数据的服务器上的功能 insert/update 才能同时发布数据。
q) .u.pub[table name; table data]
这将负责调用为此table注册的每个客户端的回调函数。
在客户端,创建与发布者的连接并调用库函数进行订阅。
q) .u.sub[tablename;list_of_symbols_to_subscribe_to]
您还可以查看示例发布者和订阅者代码:https://github.com/KxSystems/cookbook/tree/master/pubsub