close 579, add combined server to simplify test
This commit is contained in:
parent
bd30d48c4f
commit
1b5b1e25af
|
|
@ -9,9 +9,11 @@
|
|||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
<dependency>
|
||||
<dependency>
|
||||
<groupId>cn.analysys</groupId>
|
||||
<artifactId>escheduler-alert</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.analysys</groupId>
|
||||
<artifactId>escheduler-server</artifactId>
|
||||
<exclusions>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package cn.escheduler.api;
|
||||
|
||||
import cn.escheduler.alert.AlertServer;
|
||||
import cn.escheduler.dao.ProcessDao;
|
||||
import cn.escheduler.server.master.MasterServer;
|
||||
import cn.escheduler.server.rpc.LoggerServer;
|
||||
import cn.escheduler.server.worker.WorkerServer;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.web.servlet.ServletComponentScan;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import springfox.documentation.swagger2.annotations.EnableSwagger2;
|
||||
|
||||
@SpringBootApplication
|
||||
@ServletComponentScan
|
||||
@ComponentScan("cn.escheduler")
|
||||
@EnableSwagger2
|
||||
public class CombinedApplicationServer extends SpringBootServletInitializer {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
|
||||
ConfigurableApplicationContext context = SpringApplication.run(ApiApplicationServer.class, args);
|
||||
ProcessDao processDao = context.getBean(ProcessDao.class);
|
||||
MasterServer master = new MasterServer(processDao);
|
||||
master.run(processDao);
|
||||
|
||||
WorkerServer workerServer = new WorkerServer();
|
||||
workerServer.run();
|
||||
|
||||
LoggerServer server = new LoggerServer();
|
||||
server.start();
|
||||
|
||||
AlertServer alertServer = AlertServer.getInstance();
|
||||
alertServer.start();
|
||||
}
|
||||
}
|
||||
|
|
@ -84,6 +84,7 @@ public class AppConfiguration implements WebMvcConfigurer {
|
|||
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
|
||||
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
|
||||
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
||||
registry.addResourceHandler("/ui/**").addResourceLocations("file:ui/");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
package cn.escheduler.api.controller;
|
||||
|
||||
public class MetricsController {
|
||||
}
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
|
||||
<configuration scan="true" scanPeriod="120 seconds">
|
||||
<property name="log.base" value="logs"/>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>
|
||||
%highlight([%level]) %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{10}:[%line] - %msg%n
|
||||
</pattern>
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
<appender name="TASKLOGFILE" class="cn.escheduler.server.worker.log.TaskLogAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<filter class="cn.escheduler.server.worker.log.TaskLogFilter"></filter>
|
||||
<file>${log.base}/{processDefinitionId}/{processInstanceId}/{taskInstanceId}.log</file>
|
||||
<encoder>
|
||||
<pattern>
|
||||
[%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
|
||||
</pattern>
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
<append>true</append>
|
||||
</appender>
|
||||
|
||||
<appender name="COMBINEDLOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${log.base}/escheduler-combined.log</file>
|
||||
<filter class="cn.escheduler.server.worker.log.WorkerLogFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>${log.base}/escheduler-combined.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
|
||||
<maxHistory>168</maxHistory>
|
||||
<maxFileSize>200MB</maxFileSize>
|
||||
</rollingPolicy>
|
||||
|
||||
<encoder>
|
||||
<pattern>
|
||||
[%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
|
||||
</pattern>
|
||||
<charset>UTF-8</charset>
|
||||
</encoder>
|
||||
|
||||
</appender>
|
||||
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
<appender-ref ref="TASKLOGFILE"/>
|
||||
<appender-ref ref="COMBINEDLOGFILE"/>
|
||||
</root>
|
||||
</configuration>
|
||||
|
|
@ -44,7 +44,7 @@ public class LoggerServer {
|
|||
*/
|
||||
private Server server;
|
||||
|
||||
private void start() throws IOException {
|
||||
public void start() throws IOException {
|
||||
/* The port on which the server should run */
|
||||
int port = Constants.RPC_PORT;
|
||||
server = ServerBuilder.forPort(port)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
const merge = require('webpack-merge')
|
||||
const prodConfig = require('./webpack.config.prod')
|
||||
|
||||
const config = merge.smart(prodConfig, {
|
||||
output: {
|
||||
publicPath: '/escheduler/ui/'
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = config
|
||||
|
|
@ -10,7 +10,8 @@
|
|||
"lint": "standard \"**/*.{js,vue}\"",
|
||||
"lint:fix": "standard \"**/*.{js,vue}\" --fix",
|
||||
"start": "npm run dev",
|
||||
"combo": "node ./build/combo.js"
|
||||
"combo": "node ./build/combo.js",
|
||||
"build:combined": "npm run clean && cross-env NODE_ENV=production webpack --config ./build/webpack.config.combined.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"autoprefixer": "^9.1.0",
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
<meta name="theme-color" content="#4a8dee">
|
||||
<meta name="msapplication-navbutton-color" content="#4a8dee">
|
||||
<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1">
|
||||
<link rel="shortcut icon" href="/images/favicon.ico"/>
|
||||
<link href="/combo/1.0.0/base.css?v1.0.0.1" rel="stylesheet">
|
||||
<link href="/combo/1.0.0/3rd.css?v1.0.0.1" rel="stylesheet">
|
||||
<link rel="shortcut icon" href="images/favicon.ico"/>
|
||||
<link href="combo/1.0.0/base.css?v1.0.0.1" rel="stylesheet">
|
||||
<link href="combo/1.0.0/3rd.css?v1.0.0.1" rel="stylesheet">
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/combo/1.0.0/es5.js"></script>
|
||||
<script src="combo/1.0.0/es5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<!--<script src="https://s1.analysys.cn/libs/??jqueryui/1.12.1/jquery-ui.min.js,twitter-bootstrap/3.3.7/js/bootstrap.min.js,jsPlumb/2.8.5/js/jsplumb.min.js"></script> -->
|
||||
<!--<script src="https://s1.analysys.cn/libs/??highlight.js/9.13.1/highlight.min.js,element-ui/2.4.9/index.js,clipboard.js/2.0.1/clipboard.min.js,d3/3.3.6/d3.min.js,dayjs/1.7.8/dayjs.min.js"></script> -->
|
||||
|
||||
<script src="/combo/1.0.0/3rd.js?v1.0.0.1" type="text/javascript"></script>
|
||||
<script src="combo/1.0.0/3rd.js?v1.0.0.1" type="text/javascript"></script>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@
|
|||
<outputDirectory>.</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
<fileSet>
|
||||
<directory>escheduler-ui/dist</directory>
|
||||
<includes>
|
||||
<include>**/*.*</include>
|
||||
</includes>
|
||||
<outputDirectory>./ui</outputDirectory>
|
||||
</fileSet>
|
||||
|
||||
<fileSet>
|
||||
<directory>sql</directory>
|
||||
<includes>
|
||||
|
|
|
|||
Loading…
Reference in New Issue