Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
250c5ba2
Commit
250c5ba2
authored
Jul 29, 2022
by
RuoYi
Browse files
优化任务过期不执行调度
parent
b91c8489
Changes
4
Hide whitespace changes
Inline
Side-by-side
ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
View file @
250c5ba2
...
...
@@ -167,8 +167,8 @@ public class SysJobController extends BaseController
@PutMapping
(
"/run"
)
public
AjaxResult
run
(
@RequestBody
SysJob
job
)
throws
SchedulerException
{
jobService
.
run
(
job
);
return
AjaxR
esult
.
success
();
boolean
result
=
jobService
.
run
(
job
);
return
r
esult
?
success
()
:
error
(
"任务不存在或已过期!"
)
;
}
/**
...
...
@@ -180,6 +180,6 @@ public class SysJobController extends BaseController
public
AjaxResult
remove
(
@PathVariable
Long
[]
jobIds
)
throws
SchedulerException
,
TaskException
{
jobService
.
deleteJobByIds
(
jobIds
);
return
AjaxResult
.
success
();
return
success
();
}
}
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/ISysJobService.java
View file @
250c5ba2
...
...
@@ -74,7 +74,7 @@ public interface ISysJobService
* @param job 调度信息
* @return 结果
*/
public
void
run
(
SysJob
job
)
throws
SchedulerException
;
public
boolean
run
(
SysJob
job
)
throws
SchedulerException
;
/**
* 新增任务
...
...
ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
View file @
250c5ba2
...
...
@@ -174,15 +174,22 @@ public class SysJobServiceImpl implements ISysJobService
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
run
(
SysJob
job
)
throws
SchedulerException
public
boolean
run
(
SysJob
job
)
throws
SchedulerException
{
boolean
result
=
false
;
Long
jobId
=
job
.
getJobId
();
String
jobGroup
=
job
.
getJobGroup
();
SysJob
properties
=
selectJobById
(
job
.
getJobId
());
// 参数
JobDataMap
dataMap
=
new
JobDataMap
();
dataMap
.
put
(
ScheduleConstants
.
TASK_PROPERTIES
,
properties
);
scheduler
.
triggerJob
(
ScheduleUtils
.
getJobKey
(
jobId
,
jobGroup
),
dataMap
);
JobKey
jobKey
=
ScheduleUtils
.
getJobKey
(
jobId
,
jobGroup
);
if
(
scheduler
.
checkExists
(
jobKey
))
{
result
=
true
;
scheduler
.
triggerJob
(
jobKey
,
dataMap
);
}
return
result
;
}
/**
...
...
ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
View file @
250c5ba2
...
...
@@ -83,7 +83,12 @@ public class ScheduleUtils
scheduler
.
deleteJob
(
getJobKey
(
jobId
,
jobGroup
));
}
scheduler
.
scheduleJob
(
jobDetail
,
trigger
);
// 判断任务是否过期
if
(
StringUtils
.
isNotNull
(
CronUtils
.
getNextExecution
(
job
.
getCronExpression
())))
{
// 执行调度任务
scheduler
.
scheduleJob
(
jobDetail
,
trigger
);
}
// 暂停任务
if
(
job
.
getStatus
().
equals
(
ScheduleConstants
.
Status
.
PAUSE
.
getValue
()))
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment