use of com.dtstack.taier.dao.domain.BatchTaskParam in project Taier by DTStack.
the class BatchTaskParamShadeService method saveTaskParam.
public void saveTaskParam(List<BatchTaskParam> paramList) {
for (BatchTaskParam batchTaskParam : paramList) {
BatchTaskParamShade paramShade = new BatchTaskParamShade();
BeanUtils.copyProperties(batchTaskParam, paramShade);
addOrUpdate(paramShade);
}
}
use of com.dtstack.taier.dao.domain.BatchTaskParam in project Taier by DTStack.
the class BatchHadoopJobExeService method readyForSyncImmediatelyJob.
@Override
public Map<String, Object> readyForSyncImmediatelyJob(BatchTask batchTask, Long tenantId, Boolean isRoot) {
if (!batchTask.getTaskType().equals(EScheduleJobType.SYNC.getVal())) {
throw new RdosDefineException("只支持同步任务直接运行");
}
Map<String, Object> actionParam = Maps.newHashMap();
try {
String taskParams = batchTask.getTaskParams();
List<BatchTaskParam> taskParamsToReplace = batchTaskParamService.getTaskParam(batchTask.getId());
JSONObject syncJob = JSON.parseObject(Base64Util.baseDecode(batchTask.getSqlText()));
taskParams = replaceSyncParll(taskParams, parseSyncChannel(syncJob));
String job = syncJob.getString("job");
// 向导模式根据job中的sourceId填充数据源信息,保证每次运行取到最新的连接信息
job = datasourceService.setJobDataSourceInfo(job, tenantId, syncJob.getIntValue("createModel"));
batchTaskParamService.checkParams(batchTaskParamService.checkSyncJobParams(job), taskParamsToReplace);
String name = "run_sync_task_" + batchTask.getName() + "_" + System.currentTimeMillis();
String taskExeArgs = String.format(JOB_ARGS_TEMPLATE, name, job);
actionParam.put("taskSourceId", batchTask.getId());
actionParam.put("taskType", EScheduleJobType.SYNC.getVal());
actionParam.put("name", name);
actionParam.put("computeType", batchTask.getComputeType());
actionParam.put("sqlText", "");
actionParam.put("taskParams", taskParams);
actionParam.put("tenantId", tenantId);
actionParam.put("sourceType", SourceType.TEMP_QUERY.getType());
actionParam.put("isFailRetry", false);
actionParam.put("maxRetryNum", 0);
actionParam.put("job", job);
actionParam.put("taskParamsToReplace", JSON.toJSONString(taskParamsToReplace));
DataSourceType writerDataSourceType = getSyncJobWriterDataSourceType(job);
if (Objects.nonNull(writerDataSourceType)) {
actionParam.put("dataSourceType", writerDataSourceType.getVal());
}
if (Objects.nonNull(taskExeArgs)) {
actionParam.put("exeArgs", taskExeArgs);
}
} catch (Exception e) {
throw new RdosDefineException(String.format("创建数据同步job失败: %s", e.getMessage()), e);
}
return actionParam;
}
use of com.dtstack.taier.dao.domain.BatchTaskParam in project Taier by DTStack.
the class BatchTaskService method setTaskVariables.
private void setTaskVariables(final ScheduleTaskVO taskVO, final Long taskId) {
final List<BatchTaskParam> taskParams = this.batchTaskParamService.getTaskParam(taskId);
final List<Map> mapParams = new ArrayList<>();
if (taskParams != null) {
for (final BatchTaskParam taskParam : taskParams) {
final Map map = new HashMap();
map.put("type", taskParam.getType());
map.put("paramName", taskParam.getParamName());
map.put("paramCommand", taskParam.getParamCommand());
mapParams.add(map);
}
}
taskVO.setTaskVariables(mapParams);
}
Aggregations