Commit 103ea399 by admin

增加邮件预警任务

parent 5d115e3e
...@@ -163,10 +163,10 @@ public class MainThread extends Thread { ...@@ -163,10 +163,10 @@ public class MainThread extends Thread {
CrawTemplateServiceImpl crawService = BeanFactory.getBean(CrawTemplateServiceImpl.class); CrawTemplateServiceImpl crawService = BeanFactory.getBean(CrawTemplateServiceImpl.class);
DataServiceImpl dataService = BeanFactory.getBean(DataServiceImpl.class); DataServiceImpl dataService = BeanFactory.getBean(DataServiceImpl.class);
ServerServiceImpl serverService = BeanFactory.getBean(ServerServiceImpl.class); ServerServiceImpl serverService = BeanFactory.getBean(ServerServiceImpl.class);
MessageServiceImpl messageService=BeanFactory.getBean(MessageServiceImpl.class); MessageServiceImpl messageService = BeanFactory.getBean(MessageServiceImpl.class);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH");
List<Channel> channel = serverService.findDisChannel(); List<Channel> channel = serverService.findDisChannel();
Calendar loop=Calendar.getInstance(); Calendar loop = Calendar.getInstance();
while (true) { while (true) {
Calendar start = Calendar.getInstance(); Calendar start = Calendar.getInstance();
if (start.get(Calendar.HOUR_OF_DAY) < 1) { if (start.get(Calendar.HOUR_OF_DAY) < 1) {
...@@ -182,8 +182,8 @@ public class MainThread extends Thread { ...@@ -182,8 +182,8 @@ public class MainThread extends Thread {
for (Channel chan : channel) { for (Channel chan : channel) {
map.put(chan.getPt(), chan.getValue()); map.put(chan.getPt(), chan.getValue());
try { try {
ServerBean ser=serverService.findServer(chan.getPt()); ServerBean ser = serverService.findServer(chan.getPt());
count = es.getCountByPt(start.getTime(), end.getTime(), chan.getPt(), chan.getValue(),ser); count = es.getCountByPt(start.getTime(), end.getTime(), chan.getPt(), chan.getValue(), ser);
System.out.println(count); System.out.println(count);
Data data = new Data(); Data data = new Data();
data.setCount(count); data.setCount(count);
...@@ -196,7 +196,9 @@ public class MainThread extends Thread { ...@@ -196,7 +196,9 @@ public class MainThread extends Thread {
Messages m = new Messages(); Messages m = new Messages();
m.setTitle("渠道低数据量预警{" + chan.getPt() + "}"); m.setTitle("渠道低数据量预警{" + chan.getPt() + "}");
m.setContent("1小时内的数据量为:" + count); m.setContent("1小时内的数据量为:" + count);
SendMailUtil.sendMessage(Config.getVal("count_mail"), m); for (String mail : Config.getVal("count_mail").split(",")) {
SendMailUtil.sendMessage(mail, m);
}
} }
} catch (Exception e) { } catch (Exception e) {
log.error(chan.getPt() + "入库出错,错误信息{}", e); log.error(chan.getPt() + "入库出错,错误信息{}", e);
...@@ -210,7 +212,7 @@ public class MainThread extends Thread { ...@@ -210,7 +212,7 @@ public class MainThread extends Thread {
int cwCount = 0; int cwCount = 0;
String pt = crawService.findPt(tmp.getSpyderInfoId()); String pt = crawService.findPt(tmp.getSpyderInfoId());
cwCount = (int) es.getCounts(start.getTime(), end.getTime(), pt, map.get(pt), cwCount = (int) es.getCounts(start.getTime(), end.getTime(), pt, map.get(pt),
tmp.getSpyderInfoId(),serverService.findServer(pt)); tmp.getSpyderInfoId(), serverService.findServer(pt));
try { try {
Data data = new Data(); Data data = new Data();
data.setCount(cwCount); data.setCount(cwCount);
...@@ -218,13 +220,13 @@ public class MainThread extends Thread { ...@@ -218,13 +220,13 @@ public class MainThread extends Thread {
data.setTempName(tmp.getTempName()); data.setTempName(tmp.getTempName());
dataService.insert(data); dataService.insert(data);
log.info(TimeUtil.yearToDay(start.getTime()) + "|" + tmp.getTempName() + "|入库"); log.info(TimeUtil.yearToDay(start.getTime()) + "|" + tmp.getTempName() + "|入库");
if(cwCount==0) { if (cwCount == 0) {
loop.setTime(start.getTime()); loop.setTime(start.getTime());
loop.add(Calendar.DATE, -2); loop.add(Calendar.DATE, -2);
cwCount = (int) es.getCounts(start.getTime(), end.getTime(), pt, map.get(pt), cwCount = (int) es.getCounts(start.getTime(), end.getTime(), pt, map.get(pt),
tmp.getSpyderInfoId(),serverService.findServer(pt)); tmp.getSpyderInfoId(), serverService.findServer(pt));
if(cwCount<3) { if (cwCount < 3) {
Message msg=new Message(); Message msg = new Message();
msg.setCreateDate(new Date()); msg.setCreateDate(new Date());
msg.setErrorMsg("连续三天数据不足3条,请确认采集是否有问题"); msg.setErrorMsg("连续三天数据不足3条,请确认采集是否有问题");
msg.setPt(pt); msg.setPt(pt);
......
...@@ -218,10 +218,12 @@ public class Task implements Runnable { ...@@ -218,10 +218,12 @@ public class Task implements Runnable {
Date time = null; Date time = null;
Date savetime = null; Date savetime = null;
if (map.get(delayed.getTime()) != null) { if (map.get(delayed.getTime()) != null) {
String date=null;
try { try {
String date = String.valueOf(map.get(delayed.getTime())).replace("Z", " UTC"); date = String.valueOf(map.get(delayed.getTime())).replace("Z", " UTC");
time = sdf.parse(String.valueOf(date)); time = sdf.parse(String.valueOf(date));
} catch (ParseException e) { } catch (ParseException e) {
log.info("时间:"+date);
log.error("时间转换出错【{}】",e); log.error("时间转换出错【{}】",e);
} }
} }
...@@ -258,7 +260,6 @@ public class Task implements Runnable { ...@@ -258,7 +260,6 @@ public class Task implements Runnable {
for (int i = cutSize; i < dNum.size(); i++) { for (int i = cutSize; i < dNum.size(); i++) {
sum -= dNum.get(i); sum -= dNum.get(i);
} }
System.out.println(sum);
if (sum / 1.0 / 1000 / 60 / cutSize > delayed.getNewsDelayed()) { if (sum / 1.0 / 1000 / 60 / cutSize > delayed.getNewsDelayed()) {
Template tp = MainThread.mainMap.get(delayed.getTemplateId()); Template tp = MainThread.mainMap.get(delayed.getTemplateId());
Message msg = new Message(); Message msg = new Message();
......
...@@ -251,12 +251,7 @@ public class ESUtil { ...@@ -251,12 +251,7 @@ public class ESUtil {
// endTime.add(Calendar.HOUR, -8); // endTime.add(Calendar.HOUR, -8);
Client esClient=null; Client esClient=null;
try { try {
if (DbDepot.esClients.get(ser.getPt()) == null) { esClient = getClient(pt, ser);
esClient = new ESClient(ser.getDbName(), ser.getDbHost(), ser.getDbPort()).getClient();
DbDepot.esClients.put(ser.getPt(), esClient);
} else {
esClient = (Client) DbDepot.esClients.get(ser.getPt());
}
// 搜索数据 // 搜索数据
SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection()); SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection());
BoolQueryBuilder bb = new BoolQueryBuilder(); BoolQueryBuilder bb = new BoolQueryBuilder();
...@@ -292,12 +287,7 @@ public class ESUtil { ...@@ -292,12 +287,7 @@ public class ESUtil {
endTime.add(Calendar.HOUR, -8); endTime.add(Calendar.HOUR, -8);
Client esClient=null; Client esClient=null;
try { try {
if (DbDepot.esClients.get(ser.getPt()) == null) { esClient = getClient(pt, ser);
esClient = new ESClient(ser.getDbName(), ser.getDbHost(), ser.getDbPort()).getClient();
DbDepot.esClients.put(ser.getPt(), esClient);
} else {
esClient = (Client) DbDepot.esClients.get(ser.getPt());
}
// 搜索数据 // 搜索数据
SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection()); SearchRequestBuilder srb = esClient.prepareSearch(ser.getCollection());
BoolQueryBuilder bb = new BoolQueryBuilder(); BoolQueryBuilder bb = new BoolQueryBuilder();
...@@ -313,6 +303,17 @@ public class ESUtil { ...@@ -313,6 +303,17 @@ public class ESUtil {
return 0; return 0;
} }
private synchronized Client getClient(String pt, ServerBean ser) {
Client esClient;
if (DbDepot.esClients.get(pt) == null) {
esClient = new ESClient(ser.getDbName(), ser.getDbHost(), ser.getDbPort()).getClient();
DbDepot.esClients.put(ser.getPt(), esClient);
} else {
esClient = (Client) DbDepot.esClients.get(pt);
}
return esClient;
}
private static void addQuerys(String pt, Calendar startTime, Calendar endTime, SearchRequestBuilder srb, private static void addQuerys(String pt, Calendar startTime, Calendar endTime, SearchRequestBuilder srb,
BoolQueryBuilder bb) { BoolQueryBuilder bb) {
if (pt.equals("微博")) { if (pt.equals("微博")) {
......
...@@ -32,4 +32,4 @@ wechat.indexName=mediaspider* ...@@ -32,4 +32,4 @@ wechat.indexName=mediaspider*
mobile.indexName=mediaspider* mobile.indexName=mediaspider*
toutiao.indexName=mediaspider* toutiao.indexName=mediaspider*
########################################### ###########################################
count_mail=shenjinzhu999@163.com count_mail=shenjinzhu999@163.com,zhangzhiwei@zhiweidata.com
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment