文档章节

Azkaban的线程系列 36:AzkabanWebServer-Cleaner-Thread

强子1985
 强子1985
发布于 2016/04/13 11:34
字数 212
阅读 81
收藏 0

此线程 azkaban.executor.ExecutorManager$CleanerThread.run

-------------------------------------------------------------------------------------------------------------------------------------------------

// check every day

private static final long CLEANER_THREAD_WAIT_INTERVAL_MS = 24 * 60 * 60 * 1000;

根据上面的设置,每隔1天检查1次。

然后往下执行

private void cleanOldExecutionLogs(long millis) {

try {

int count = executorLoader.removeExecutionLogsByTime(millis);

logger.info("Cleaned up " + count + " log entries.");

} catch (ExecutorManagerException e) {

e.printStackTrace();

}

}

那么,int count = executorLoader.removeExecutionLogsByTime(millis);做了什么事情呢?

@Override

public int removeExecutionLogsByTime(long millis) throws ExecutorManagerException {

final String DELETE_BY_TIME = "DELETE FROM execution_logs WHERE upload_time < ?";

 

QueryRunner runner = createQueryRunner();

int updateNum = 0;

try {

updateNum = runner.update(DELETE_BY_TIME, millis);

} catch (SQLException e) {

e.printStackTrace();

throw new ExecutorManagerException("Error deleting old execution_logs before " + millis, e);

}

 

return updateNum;

}

其实就是删除执行的日志,从DB中删除,看来就是删除过期数据,

那么到底保留多少天的数据呢?


long executionLogsRetentionMs = azkProps.getLong("execution.logs.retention.ms",

DEFAULT_EXECUTION_LOGS_RETENTION_MS);

 

cleanerThread = new CleanerThread(executionLogsRetentionMs);

cleanerThread.start();

// 12 weeks

private static final long DEFAULT_EXECUTION_LOGS_RETENTION_MS = 3 * 4 * 7 * 24 * 60 * 60 * 1000L;

也就是说,默认保留3个礼拜的执行日志!


日志其实是executor server上传的!

© 著作权归作者所有

共有 人打赏支持
强子1985

强子1985

粉丝 875
博文 1097
码字总数 803039
作品 8
南京
架构师
私信 提问
Azkaban的定时调度任务分析34:定时执行下文

下面说线程azkaban.trigger.TriggerManager.TriggerScannerThread是如何运作的 1)初始化 stop in azkaban.trigger.TriggerManager$TriggerScannerThread.xxx run 初始化的上下文是: java.l......

强子哥哥
2016/04/12
189
0
Azkaban的线程系列 37:QueueProcessor线程的任务处理&executor存活监控

有个线程,AzkabanWebServer-QueueProcessor-Thread. 下面分析下这个线程到底干嘛的!!! ==================================================================================== stop in......

强子哥哥
2016/04/13
286
0
Azkaban的Web Server源码探究系列10 : /对应的servlet解析

如果请求的URI是"/",对应的servlet如何响应? =================================================================== ServletHolder indexRedirect = new ServletHolder(new IndexRedirectS......

强子哥哥
2016/04/08
221
0
azkaban配置插件问题,跪求解答

配置web插件:hdfs、jobsummary、reportal,出现同样的问题某个类,但是在我的azkaban-web-server/plugins/viewer/hdfs/src/azkaban/viewer/hdfs在这个包下我是有HdfsBrowserServlet文件的,...

你我他有个梦
2017/08/11
577
0
Azkaban的Web Server源码探究系列8: 水文一篇

经过2天的推进,azkaban的源码顺利推进到 AzkabanWebServer的整个初始化全部debug完毕,非常顺利! 特发水文一篇,下班回家!

强子哥哥
2016/04/07
138
0

没有更多内容

加载失败,请刷新页面

加载更多

docker搞个wordpress

1.先把wordpress的镜像下载下来 docker pull wordpress 2.下载mysql docker pull mysql:lastest 3.启动mysql docker run --name blog -e root -d mysql:5.7 docker run --name some-mysql -e......

无极之岚
8分钟前
0
0
【宇润日常疯测-005】PHP 中的 clone 和 new 性能比较

clone和new本不应该放在一起比较,它们的作用是不同的。但可能有一些场景下,可以用clone也可以用new,那么这时候我们选哪个呢? 我编写了两个测试,第一个是声明一个空类,第二个是带构造方...

宇润
8分钟前
0
1
点击按钮弹出类似IOS 底部 dialog

implementation 'com.baoyz.actionsheet:library:1.1.7' 然后设置按钮点击监听,,调用下列代码即可 ActionSheet.createBuilder(this, getSupportFragmentManager()) ......

lanyu96
12分钟前
1
0
专访阿里云专有云马劲,一个理性的理想主义者

“我的故事都是和团队技术相关的,自己还真没有什么引人入胜的故事。”当马劲被问到能不能多分享些个人经历故事时他笑着说,我们就干脆怀着好奇聊了聊他和阿里云专有云一路走来的故事。 马劲...

阿里云官方博客
44分钟前
1
0
java环形缓冲区

import java.util.ArrayList;import java.util.List;/** * * 环形缓冲区<br/> * 一. 写数据:<br/> * 1. push: 当数据已写满时返回false,否则可以正常写入返回true<br/>......

whoisliang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部