xueli.xue 8 gadus atpakaļ
vecāks
revīzija
8d99be356a

+ 22 - 11
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java Parādīt failu

@@ -105,11 +105,27 @@ public class XxlJobServiceImpl implements IXxlJobService {
105 105
 
106 106
 		// add in db
107 107
 		xxlJobInfoDao.save(jobInfo);
108
-		int jobId = jobInfo.getId();
109
-		if (jobId < 1) {
108
+		if (jobInfo.getId() < 1) {
110 109
 			return new ReturnT<String>(500, "新增任务失败");
111 110
 		}
112
-		return ReturnT.SUCCESS;
111
+
112
+		// add in quartz
113
+        String qz_group = String.valueOf(jobInfo.getJobGroup());
114
+        String qz_name = String.valueOf(jobInfo.getId());
115
+        try {
116
+            XxlJobDynamicScheduler.addJob(qz_name, qz_group, jobInfo.getJobCron());
117
+            XxlJobDynamicScheduler.pauseJob(qz_name, qz_group);
118
+            return ReturnT.SUCCESS;
119
+        } catch (SchedulerException e) {
120
+            logger.error("", e);
121
+            try {
122
+                xxlJobInfoDao.delete(jobInfo.getId());
123
+                XxlJobDynamicScheduler.removeJob(qz_name, qz_group);
124
+            } catch (SchedulerException e1) {
125
+                logger.error("", e1);
126
+            }
127
+            return new ReturnT<String>(500, "新增任务失败:" + e.getMessage());
128
+        }
113 129
 	}
114 130
 
115 131
 	@Override
@@ -206,8 +222,8 @@ public class XxlJobServiceImpl implements IXxlJobService {
206 222
         String name = String.valueOf(xxlJobInfo.getId());
207 223
 
208 224
 		try {
209
-			XxlJobDynamicScheduler.pauseJob(name, group);	// jobStatus do not store
210
-			return ReturnT.SUCCESS;
225
+            boolean ret = XxlJobDynamicScheduler.pauseJob(name, group);	// jobStatus do not store
226
+            return ret?ReturnT.SUCCESS:ReturnT.FAIL;
211 227
 		} catch (SchedulerException e) {
212 228
 			e.printStackTrace();
213 229
 			return ReturnT.FAIL;
@@ -221,12 +237,7 @@ public class XxlJobServiceImpl implements IXxlJobService {
221 237
         String name = String.valueOf(xxlJobInfo.getId());
222 238
 
223 239
 		try {
224
-			boolean ret = false;
225
-			if (XxlJobDynamicScheduler.checkExists(name, group)) {
226
-				ret = XxlJobDynamicScheduler.resumeJob(name, group);
227
-			} else {
228
-				ret = XxlJobDynamicScheduler.addJob(name, group, xxlJobInfo.getJobCron());
229
-			}
240
+			boolean ret = XxlJobDynamicScheduler.resumeJob(name, group);
230 241
 			return ret?ReturnT.SUCCESS:ReturnT.FAIL;
231 242
 		} catch (SchedulerException e) {
232 243
 			e.printStackTrace();

+ 2 - 2
xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js Parādīt failu

@@ -75,7 +75,7 @@ $(function() {
75 75
 	                	"render": function ( data, type, row ) {
76 76
 	                		if ('NORMAL' == data) {
77 77
 	                			return '<small class="label label-success" ><i class="fa fa-clock-o"></i>'+ data +'</small>'; 
78
-							} else if ('PAUSED' == data || 'NONE' == data){
78
+							} else if ('PAUSED' == data){
79 79
 								return '<small class="label label-default" title="暂停" ><i class="fa fa-clock-o"></i>'+ data +'</small>'; 
80 80
 							} else if ('BLOCKED' == data){
81 81
 								return '<small class="label label-default" title="阻塞[串行]" ><i class="fa fa-clock-o"></i>'+ data +'</small>'; 
@@ -90,7 +90,7 @@ $(function() {
90 90
 	                			var pause_resume = "";
91 91
 	                			if ('NORMAL' == row.jobStatus) {
92 92
 	                				pause_resume = '<button class="btn btn-primary btn-xs job_operate" type="job_pause" type="button">暂停</button>  ';
93
-								} else if ('PAUSED' == row.jobStatus || 'NONE' == row.jobStatus){
93
+								} else if ('PAUSED' == row.jobStatus){
94 94
 									pause_resume = '<button class="btn btn-primary btn-xs job_operate" type="job_resume" type="button">恢复</button>  ';
95 95
 								}
96 96
 	                			// log url