【发布时间】:2021-04-01 16:46:39
【问题描述】:
我看到了很多关于在 kdb 上序列化表的信息,但是有没有建议的最佳实践来让函数在 kdb 服务器上持久化?目前,我在我的本地启动 q.q 中加载了一些 .q 文件,并在服务器上复制了这些 .q 文件以供重启时使用。
当我编辑、添加和更改函数时,我在本地开发机器上的许多 .q 文件中都引用了相同的上下文。然后,我使用类似于下面的代码将它们一个接一个地发送到服务器,现在效果很好,但是我将函数推送到服务器,然后手动复制每个 .q 文件,然后手动编辑 q.q 文件服务器。
\p YYYY;
h:hopen `:XXX.XXX.XX.XX:YYYY;
funcs: raze read0[`$./funcs/funcsAAA.q"];
funcs: raze read0[`$./funcs/funcsBBB.q"];
funcs: raze read0[`$./funcs/funcsCCC.q"];
h funcs;
我想在服务器上对它们进行序列化(反之,get 在系统重新启动时将它们序列化。我已经在本地尝试过,当我将它们放入启动时似乎可以工作 q.q
`.AAA set get `:/q/AAAfuncs
`.BBB set get `:/q/BBBfuncs
`.CCC set get `:/q/CCCfuncs
我的问题是:
- 是否有更优雅的解决方案来序列化和调用服务器上的函数?
- 巧妙的方法在服务器上编辑q.q添加
.AAA set get :/q/AAAfuncs - 我的想法正确吗?我知道这在 prod 环境中可能很危险
【问题讨论】:
标签: kdb