use of com.qlangtech.tis.manage.spring.aop.Func in project tis by qlangtech.
the class DataxAction method doGenerateDataxCfgs.
/**
* 重新生成datax配置文件
*
* @param context
* @throws Exception
*/
@Func(value = PermissionConstant.DATAX_MANAGE)
public void doGenerateDataxCfgs(Context context) throws Exception {
String dataxName = this.getString(PARAM_KEY_DATAX_NAME);
boolean getExist = this.getBoolean("getExist");
DataxProcessor dataxProcessor = IAppSource.load(this, dataxName);
DataXCfgGenerator cfgGenerator = new DataXCfgGenerator(this, dataxName, dataxProcessor);
File dataxCfgDir = dataxProcessor.getDataxCfgDir(this);
if (!getExist) {
FileUtils.forceMkdir(dataxCfgDir);
// 先清空文件
FileUtils.cleanDirectory(dataxCfgDir);
}
DataXCfgGenerator.GenerateCfgs generateCfgs = null;
this.setBizResult(context, getExist ? cfgGenerator.getExistCfg(dataxCfgDir) : (generateCfgs = cfgGenerator.startGenerateCfg(dataxCfgDir)));
if (!getExist) {
Objects.requireNonNull(generateCfgs, "generateCfgs can not be null");
generateCfgs.write2GenFile(dataxCfgDir);
// JSONObject o = new JSONObject();
// o.put("groupChildTasks", generateCfgs.getGroupedChildTask());
// o.put("genTime", generateCfgs.getGenTime());
// FileUtils.write(new File(dataxCfgDir, DataXCfgGenerator.FILE_GEN)
// , JsonUtil.toString(o), TisUTF8.get(), false);
}
}
use of com.qlangtech.tis.manage.spring.aop.Func in project tis by qlangtech.
the class DataxAction method doGetReaderPluginInfo.
/**
* 取得读插件配置
*
* @param context
* @throws Exception
*/
@Func(value = PermissionConstant.DATAX_MANAGE, sideEffect = false)
public void doGetReaderPluginInfo(Context context) throws Exception {
String dataxName = this.getString(PARAM_KEY_DATAX_NAME);
JSONObject readerDesc = this.parseJsonPost();
if (StringUtils.isEmpty(dataxName)) {
throw new IllegalStateException("param " + PARAM_KEY_DATAX_NAME + " can not be null");
}
final String requestDescId = readerDesc.getString("impl");
KeyedPluginStore<DataxReader> readerStore = DataxReader.getPluginStore(this, dataxName);
DataxReader reader = readerStore.getPlugin();
Map<String, Object> pluginInfo = Maps.newHashMap();
if (reader != null && StringUtils.equals(reader.getDescriptor().getId(), requestDescId)) {
pluginInfo.put("item", (new DescribableJSON(reader)).getItemJson());
}
pluginInfo.put("desc", new DescriptorsJSON(TIS.get().getDescriptor(requestDescId)).getDescriptorsJSON());
this.setBizResult(context, pluginInfo);
}
use of com.qlangtech.tis.manage.spring.aop.Func in project tis by qlangtech.
the class DataxAction method doRemoveDataxWorker.
/**
* 删除dataX实例
*
* @param context
*/
@Func(value = PermissionConstant.DATAX_MANAGE)
public void doRemoveDataxWorker(Context context) {
DataXJobWorker jobWorker = DataXJobWorker.getJobWorker(this.getK8SJobWorkerTargetName());
// DataXJobWorker dataxJobWorker = dataxJobWorkerStore.getPlugin();
if (!jobWorker.inService()) {
throw new IllegalStateException("dataxJobWorker is not in serivce ,can not remove");
}
jobWorker.remove();
this.addActionMessage(context, "DataX Worker 已经被删除");
}
use of com.qlangtech.tis.manage.spring.aop.Func in project tis by qlangtech.
the class DataxAction method doWorkerDesc.
@Func(value = PermissionConstant.DATAX_MANAGE, sideEffect = false)
public void doWorkerDesc(Context context) {
final TargetResName targetName = getK8SJobWorkerTargetName();
DataXJobWorker jobWorker = DataXJobWorker.getJobWorker(targetName);
if (jobWorker != null && jobWorker.inService()) {
throw new IllegalStateException("dataX worker is on duty");
}
this.setBizResult(context, new PluginDescMeta(DataXJobWorker.getDesc(targetName)));
}
use of com.qlangtech.tis.manage.spring.aop.Func in project tis by qlangtech.
the class FullbuildWorkflowAction method doTaskComplete.
/**
* 执行阶段结束
* do_task_complete
* @param context
*/
@Func(value = PermissionConstant.DATAFLOW_MANAGE, sideEffect = false)
public void doTaskComplete(Context context) {
Integer taskid = this.getInt(IParamContext.KEY_TASK_ID);
// 执行结果
ExecResult execResult = ExecResult.parse(this.getInt(IParamContext.KEY_EXEC_RESULT));
String[] asynJobsName = this.getStringArray(IParamContext.KEY_ASYN_JOB_NAME);
updateWfHistory(taskid, execResult, asynJobsName, 0);
}
Aggregations