xueli.xue 8 yıl önce
ebeveyn
işleme
8d99be356a

+ 22 - 11
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java Dosyayı Görüntüle

105
 
105
 
106
 		// add in db
106
 		// add in db
107
 		xxlJobInfoDao.save(jobInfo);
107
 		xxlJobInfoDao.save(jobInfo);
108
-		int jobId = jobInfo.getId();
109
-		if (jobId < 1) {
108
+		if (jobInfo.getId() < 1) {
110
 			return new ReturnT<String>(500, "新增任务失败");
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
 	@Override
131
 	@Override
206
         String name = String.valueOf(xxlJobInfo.getId());
222
         String name = String.valueOf(xxlJobInfo.getId());
207
 
223
 
208
 		try {
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
 		} catch (SchedulerException e) {
227
 		} catch (SchedulerException e) {
212
 			e.printStackTrace();
228
 			e.printStackTrace();
213
 			return ReturnT.FAIL;
229
 			return ReturnT.FAIL;
221
         String name = String.valueOf(xxlJobInfo.getId());
237
         String name = String.valueOf(xxlJobInfo.getId());
222
 
238
 
223
 		try {
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
 			return ret?ReturnT.SUCCESS:ReturnT.FAIL;
241
 			return ret?ReturnT.SUCCESS:ReturnT.FAIL;
231
 		} catch (SchedulerException e) {
242
 		} catch (SchedulerException e) {
232
 			e.printStackTrace();
243
 			e.printStackTrace();

+ 2 - 2
xxl-job-admin/src/main/webapp/static/js/jobinfo.index.1.js Dosyayı Görüntüle

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