DolphinDB database日志可以自动清理吗

请问下,如何清理各个节点batchjob 目录下的obj 和 msg文件? 按现在案例,入库一个月的行情数据, 我可能会产生几万个文件,时间长的话,这些目录下面会堆积更多小文件(目前69节点就有18W个小文件,68节点查询文件数十几分钟了还没跑出结果)。我现在的需求是,做完一系列的Job,核查无误后,我想把对应产生的日志全删除(这些是一次性的job日志,以后不会有重复,也不需要再访问)。

请先 登录 后评论

1 个回答

logger

这个可通过shell脚本实现。也可通过在DolphinDB中调用shell函数实现。下面的例子代码创建了一个定时作业,实现了每天凌晨删除1天前的定时作业运行日志和返回值。

def rmBatchJobLog(){
    path=getHomeDir()+"/batchJobs"
    filenames=exec filename from files(path) where filename like "%.obj" or filename like "%.msg" and lastModified > datetimeAdd(now(),-1,`d)
    for(f in filenames){
        shell("rm -f "+path+"/"+f);
    }
}

scheduleJob(`clearJobLog, "remove log files of batch jobs", rmBatchJobLog, 00:00m, today(), 2050.12.31, 'D');


请先 登录 后评论
  • 1 关注
  • 0 收藏,948 浏览
  • jinzhi 提出于 2021-06-15 14:18

相似问题