【问题标题】:how does ticketplant write the new tplog next day in kdb?第二天ticketplant如何在kdb中写入新的tplog?
【发布时间】:2021-01-07 21:29:21
【问题描述】:

我知道tickerplant在收到数据时会写tplog。 在一天结束时,ticker plant 将开始编写新的 tplog。 我看到 tp.q 但无法弄清楚是哪个函数做到了这一点。 我知道 .u.tick 开始在磁盘上写入 tplog,但看不到哪个命令使 tplog 第二天开始写入新的 tplog? 有人可以指出我吗?

【问题讨论】:

    标签: kdb


    【解决方案1】:

    .u.ts 在计时器上运行,不断检查一天结束。在一天结束时,它调用 .u.endofday,后者调用 .u.ld。

    .u.ld 检查是否存在名称中包含当前日期的日志文件,如果该文件不存在,则创建它。

    .u.ld 负责每天创建新的日志文件

    【讨论】:

    • 有没有办法测试它是否可以立即工作,所以不需要等到第二天?想看看tplog是否真的是新写的?
    • 你可以自己调用.u.ld,它以日期为参数。如果你用明天的日期调用它,它将检查文件是否存在,如果不存在,它将创建它(路径是 .u.L)。 .u.ld 的最后一部分打开新创建的日志文件的句柄。如果您自己调用它,您将希望将其分配给 .u.l 以进行日志记录。类似 .u.l:.u.ld .z.d+1 你应该可以看到磁盘上的日志文件,或者用 .u.L 键检查是否存在
    • 非常感谢!!刚做了它并创建了新的日志。但是,我用这个 CTP 日志对其进行了几天的测试,当我刚开始那天它确实会记录下来。但它在 0:00 停止,并且没有创建新日志。第二天。不知道为什么。我尝试了 .u.ld[2021.01.09] 并创建了新日志。
    • 所以我添加了一个计时器并在 00:00 重新运行 .u.tick。它会再次希望一个新文件。我只是想知道如果 .u.l 被分配来打开一个新文件,旧文件会自动关闭吗?
    • 如果文件存在,文件句柄不会自行关闭,.u.endofday 调用 hclose 关闭旧连接。您可以用新句柄覆盖 .u.l,但它不会关闭旧句柄
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多