mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 04:39:00 +08:00
后台作业默认以租户身份运行
This commit is contained in:
1 parent
88c9ea6409
commit
946da3d593
2 files changed
+11
-4
No files matched your search
+7
-2
@@ -17,7 +17,9 @@
|
||||
|
||||
package com.pig4cloud.pigx.daemon.quartz.util;
|
||||
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.pig4cloud.pigx.common.core.constant.CommonConstants;
|
||||
import com.pig4cloud.pigx.daemon.quartz.entity.SysJob;
|
||||
import com.pig4cloud.pigx.daemon.quartz.exception.TaskException;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -37,8 +39,11 @@ public class RestTaskInvok implements ITaskInvok {
|
||||
@Override
|
||||
public void invokMethod(SysJob sysJob) throws TaskException {
|
||||
try {
|
||||
HttpUtil.createGet(sysJob.getExecutePath())
|
||||
.execute();
|
||||
HttpRequest request = HttpUtil.createGet(sysJob.getExecutePath());
|
||||
if(sysJob.getTenantId() != null){
|
||||
request.header(CommonConstants.TENANT_ID, sysJob.getTenantId().toString());
|
||||
}
|
||||
request.execute();
|
||||
} catch (Exception e) {
|
||||
log.error("定时任务restTaskInvok异常,执行任务:{}", sysJob.getExecutePath());
|
||||
throw new TaskException("定时任务restTaskInvok业务执行失败,任务:" + sysJob.getExecutePath());
|
||||
|
||||
+4
-2
@@ -19,6 +19,7 @@ package com.pig4cloud.pigx.daemon.quartz.util;
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.pig4cloud.pigx.common.data.tenant.TenantBroker;
|
||||
import com.pig4cloud.pigx.daemon.quartz.constants.PigxQuartzEnum;
|
||||
import com.pig4cloud.pigx.daemon.quartz.entity.SysJob;
|
||||
import com.pig4cloud.pigx.daemon.quartz.entity.SysJobLog;
|
||||
@@ -76,9 +77,10 @@ public class TaskInvokUtil {
|
||||
sysJobLog.setCronExpression(sysJob.getCronExpression());
|
||||
sysJobLog.setTenantId(sysJob.getTenantId());
|
||||
try {
|
||||
//执行任务
|
||||
// 执行任务
|
||||
ITaskInvok iTaskInvok = TaskInvokFactory.getInvoker(sysJob.getJobType());
|
||||
iTaskInvok.invokMethod(sysJob);
|
||||
// 确保租户上下文有值,使得当前线程中的多租户特性生效。
|
||||
TenantBroker.runAs(sysJob.getTenantId(),tenantId -> iTaskInvok.invokMethod(sysJob)); ;
|
||||
|
||||
//记录成功状态
|
||||
sysJobLog.setJobMessage(PigxQuartzEnum.JOB_LOG_STATUS_SUCCESS.getDescription());
|
||||
|
||||
Reference in new issue
Block a user