如果关闭QPAD,可以恢复QPAD查询,但端口已打开



我进行了多个查询,但是在保存它们之前,qpad崩溃了。但是,这些查询正在运行的q-port(在我的Windows机器上)仍打开。我可以分别通过vf恢复变量和函数。

有没有办法使用qpad恢复所有q statements?我忘了维护日志文件,因此我正在尝试找到一种使用q-port恢复查询的方法。

谢谢

不幸的是,由于戴维斯(Davis)的原因,无法检索您的旧查询。但是,如果您不能/不想在服务器上创建一个表来保存它们,也可以选中QPAD设置中的日志查询框:

q>设置>编辑>登录查询到" queries_date.log"

现在,当您运行查询时,它们将与qpad.exe的目录一起写入此日志文件,以及服务器和时间戳,如下:

/ 02/26/19 09:54:52 on `:localhost:1234:: from QPad1*
  show `logthis
/ 02/26/19 10:03:03 on `:localhost:1234:: from QPad1*
  a:10

不幸的是,我认为没有办法检索您的命令历史记录。其他人已经提到了为什么,所以我不会参与其中。但是,您将来可以轻松地维护日志文件:

启动服务器时,添加-l标志将允许您为日志文件定义路径。现在将记录从客户端发送到服务器的任何命令。例如

q ../log/logtest -l -p 5555
t:([]date:`date$();sym:`sym$();price:`float$())

将在5555上启动Q过程,以记录导致服务器更新的任何消息。因此,如果我在另一个Q会话中打开5555的手柄h:hopen `::5555和更新表t

q)h"insert[`t](2000.01.01;`appl;102.3)"
,0

服务器将更新t,例如So

q)t
date       sym  price
---------------------
2000.01.01 appl 102.3

将创建一个日志文件,该文件将显示发送到服务器的任何命令。注意,但是它将仅记录更改服务器数据状态的命令。

在使用与以前相同的命令崩溃的情况下,可以重新加载此日志文件。

答案是否。QPAD是与Q过程相互作用的GUI。您可以检索变量和功能的原因是因为该过程没有死亡。对于查询,在默认情况下,Q不会保存,除非您自定义.z.pg以在Queryhistory表中提高记录。

,例如

q).z.pg:{[x]`queryHistory insert ([]queryTime:.z.P;query:enlist x)}
q)queryHistory:([]queryTime:`timestamp$();query:())
q)10+10
20
q)testTab:([]sym:10?`1;val:10?100)
q)queryHistory
queryTime query
---------------

QueryHistory在Q过程本身中进行的记录没有附加,如果您在QPAD中进行操作:

10+10
testTab:([]sym:10?`1;val:10?100)

您可以看到会有记录附加,因此即使您的GUI崩溃了,您也可以追踪查询

q)queryHistory
queryTime                     query
-------------------------------------
2019.02.26D17:32:38.471063000 "10+10"
q)queryHistory
queryTime                     query
----------------------------------------------------------------
2019.02.26D17:32:38.471063000 "10+10"
2019.02.26D17:32:52.790863000 "testTab:([]sym:10?`1;val:10?100)"

最近知道,您的q脚本备份是" c/users//appdata/local",并且每5-6分钟进行自动进行一次自动化。这些是临时文件保存脚本时已删除。但是,如果您的QPAD崩溃,您可以在此处找到文件:)

相关内容

  • 没有找到相关文章

最新更新