提交 0de01b02 编写于 作者: journey2018's avatar journey2018

Merge remote-tracking branch 'remotes/upstream/dev' into dev

......@@ -4,7 +4,7 @@ Easy Scheduler
> Easy Scheduler for Big Data
[English](https://github.com/analysys/EasyScheduler/blob/dev/README.md) | [Chinese](https://github.com/analysys/EasyScheduler/blob/dev/README_zh_CN.md)
[English](README.md) | [Chinese](README_zh_CN.md)
### Design features:
......
......@@ -4,7 +4,7 @@ Easy Scheduler
> Easy Scheduler for Big Data
[中文](https://github.com/analysys/EasyScheduler/blob/dev/README_zh_CN.md) | [英文](https://github.com/analysys/EasyScheduler/blob/dev/README.md)
[中文](README_zh_CN.md) | [英文](README.md)
**设计特点:** 一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中`开箱即用`
其主要目标如下:
......
......@@ -159,8 +159,18 @@ install.sh : 一键部署脚本
* 查看目录
正常编译完后,会在当前目录生成 target/escheduler-{version}/ , 然后参考
正常编译完后,会在当前目录生成 `target/escheduler-{version}/`
```查看目录
../
├── bin
├── conf
|—— install.sh
|—— lib
|—— logs
|—— script
|—— sql
```
### 2.3 系统常用启停服务(服务用途请具体参见《系统架构设计》小节)
......
......@@ -277,6 +277,7 @@ public class MasterExecThread implements Runnable {
ProcessDag processDag = generateFlowDag(processInstance.getProcessInstanceJson(),
startNodeNameList, recoveryNameList, processInstance.getTaskDependType());
if(processDag == null){
//TODO...
logger.error("processDag is null");
return;
}
......
......@@ -78,6 +78,7 @@ public class ProcessScheduleJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
//TODO...
Assert.notNull(processDao, "please call init() method first");
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
......@@ -85,24 +86,10 @@ public class ProcessScheduleJob implements Job {
int projectId = dataMap.getInt(Constants.PROJECT_ID);
int scheduleId = dataMap.getInt(Constants.SCHEDULE_ID);
/**
* The scheduled time the trigger fired for. For instance the scheduled
* time may have been 10:00:00 but the actual fire time may have been
* 10:00:03 if the scheduler was too busy.
*
* @return Returns the scheduledFireTime.
* @see #getFireTime()
*/
Date scheduledFireTime = context.getScheduledFireTime();
/**
* The actual time the trigger fired. For instance the scheduled time may
* have been 10:00:00 but the actual fire time may have been 10:00:03 if
* the scheduler was too busy.
*
* @return Returns the fireTime.
* @see #getScheduledFireTime()
*/
Date fireTime = context.getFireTime();
logger.info("scheduled fire time :{}, fire time :{}, process id :{}", scheduledFireTime, fireTime, scheduleId);
......
......@@ -128,7 +128,6 @@ public class FetchTaskThread implements Runnable{
while (Stopper.isRunning()){
InterProcessMutex mutex = null;
try {
ThreadPoolExecutor poolExecutor = (ThreadPoolExecutor) workerExecService;
//check memory and cpu usage and threads
......
......@@ -252,7 +252,7 @@ public class TaskScheduleThread implements Callable<Boolean> {
}
}
}catch (Exception e){
logger.error("task escheduler failure : " + e.getMessage(),e);
logger.error("task escheduler failure : ", e);
status = ExecutionStatus.FAILURE ;
logger.error(String.format("task process exception, process id : %s , task : %s",
taskInstance.getProcessInstanceId(),
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册