如何运行kdb+;在一天结束时(午夜除外)打勾
我想跑步。纽约时间下午5点结束 正在考虑的备选方案:如何运行kdb+;在一天结束时(午夜除外)打勾,kdb,Kdb,我想跑步。纽约时间下午5点结束 正在考虑的备选方案: 将机器TZ设置为欧洲/赫尔辛基-使午夜=纽约时间下午5点 将机器TZ设置为UTC-并在22:00运行 将机器TZ设置为NY并在17:00运行 >考虑什么? 有没有人有过这样做的经验,希望与大家分享?一种方法是设置计时器 首先定义以下功能: q) .z.ts:{ if (current time=5 PM) then call .u.end } 然后设置一个定时器频率。例如,下一行将每隔2秒调用'.z.ts'
- 将机器TZ设置为欧洲/赫尔辛基-使午夜=纽约时间下午5点李>
- 将机器TZ设置为UTC-并在22:00运行
- 将机器TZ设置为NY并在17:00运行<这会很好
有没有人有过这样做的经验,希望与大家分享?一种方法是设置计时器 首先定义以下功能:
q) .z.ts:{ if (current time=5 PM) then call .u.end }
然后设置一个定时器频率。例如,下一行将每隔2秒调用'.z.ts'
q) \t 2000
参考资料:您必须修改
勾选.q
以满足您的新条件。您可以在此处看到代码:
。。。计时器调用的
ts
函数只是检查.u.d
是否小于.z.d
。如果条件允许,可以通过执行类似于.z.p>.u.d+17:00
的操作来更改该条件。(当然,您需要在最后一次启动.u.end时进行更新,以避免在同一天继续满足此条件:)假设采用普通kdb+勾选设置,其中:
- 5010是自动售票机工厂
- 5011是实时数据库(RDB)
- 5012是历史数据库(HDB)
.u.endofday
q)h:hopen 5010 / ticker plant
q)h".u.endofday[]"
q)hclose h
q)h:hopen 5011 / RDB
q)h"" / wait for RDB to complete last async request
q)hclose h
上面的命令可以通过shell脚本+UNIX cron自动执行。这是一个很好的解决方案,但是可以自动递增
.u.d
,这不一定是必需的。