mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-09-03 06:03:12 +00:00
parent
de38ab53c0
commit
86a1130e41
@ -1,11 +1,10 @@
|
||||
package org.openmetadata.service.apps;
|
||||
|
||||
import static org.openmetadata.service.apps.scheduler.AbstractOmAppJobListener.JOB_LISTENER_NAME;
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
|
||||
import static org.openmetadata.service.exception.CatalogExceptionMessage.LIVE_APP_SCHEDULE_ERR;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import lombok.Getter;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -212,8 +211,8 @@ public class AbstractNativeApplication implements NativeApplication {
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) {
|
||||
// This is the part of the code that is executed by the scheduler
|
||||
UUID appID = (UUID) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_ID_KEY);
|
||||
App jobApp = collectionDAO.applicationDAO().findEntityById(appID);
|
||||
String appName = (String) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_NAME);
|
||||
App jobApp = collectionDAO.applicationDAO().findEntityByName(appName);
|
||||
ApplicationHandler.getInstance().setAppRuntimeProperties(jobApp);
|
||||
// Initialise the Application
|
||||
this.init(jobApp);
|
||||
|
@ -8,7 +8,7 @@ import static org.openmetadata.schema.entity.events.SubscriptionDestination.Subs
|
||||
import static org.openmetadata.schema.type.DataReportIndex.ENTITY_REPORT_DATA_INDEX;
|
||||
import static org.openmetadata.service.Entity.KPI;
|
||||
import static org.openmetadata.service.Entity.TEAM;
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
|
||||
import static org.openmetadata.service.util.SubscriptionUtil.getAdminsData;
|
||||
import static org.openmetadata.service.util.Utilities.getMonthAndDateFromEpoch;
|
||||
|
||||
@ -25,7 +25,6 @@ import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.UUID;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.openmetadata.common.utils.CommonUtil;
|
||||
@ -71,8 +70,8 @@ public class DataInsightsReportApp extends AbstractNativeApplication {
|
||||
|
||||
@Override
|
||||
public void execute(JobExecutionContext jobExecutionContext) {
|
||||
UUID appID = (UUID) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_ID_KEY);
|
||||
App app = collectionDAO.applicationDAO().findEntityById(appID);
|
||||
String appName = (String) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_NAME);
|
||||
App app = collectionDAO.applicationDAO().findEntityByName(appName);
|
||||
// Calculate time diff
|
||||
long currentTime = Instant.now().toEpochMilli();
|
||||
long scheduleTime = currentTime - 604800000L;
|
||||
|
@ -1,6 +1,6 @@
|
||||
package org.openmetadata.service.apps.scheduler;
|
||||
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
|
||||
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -139,7 +139,8 @@ public abstract class AbstractOmAppJobListener implements JobListener {
|
||||
dataMap.put(SCHEDULED_APP_RUN_EXTENSION, JsonUtils.pojoToJson(runRecord));
|
||||
|
||||
// Push Updates to the Database
|
||||
UUID appId = (UUID) context.getJobDetail().getJobDataMap().get(APP_ID_KEY);
|
||||
String appName = (String) context.getJobDetail().getJobDataMap().get(APP_NAME);
|
||||
UUID appId = collectionDAO.applicationDAO().findEntityByName(appName).getId();
|
||||
updateStatus(appId, runRecord, update);
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ public class AppScheduler {
|
||||
public static final String APPS_JOB_GROUP = "OMAppsJobGroup";
|
||||
public static final String APPS_TRIGGER_GROUP = "OMAppsJobGroup";
|
||||
public static final String APP_INFO_KEY = "applicationInfoKey";
|
||||
public static final String APP_ID_KEY = "appID";
|
||||
public static final String APP_NAME = "appName";
|
||||
private static AppScheduler instance;
|
||||
private static volatile boolean initialized = false;
|
||||
@Getter private final Scheduler scheduler;
|
||||
@ -169,7 +169,7 @@ public class AppScheduler {
|
||||
|
||||
private JobDetail jobBuilder(App app, String jobIdentity) throws ClassNotFoundException {
|
||||
JobDataMap dataMap = new JobDataMap();
|
||||
dataMap.put(APP_ID_KEY, app.getId());
|
||||
dataMap.put(APP_NAME, app.getFullyQualifiedName());
|
||||
dataMap.put("triggerType", app.getAppSchedule().getScheduleTimeline().value());
|
||||
Class<? extends NativeApplication> clz =
|
||||
(Class<? extends NativeApplication>) Class.forName(app.getClassName());
|
||||
@ -240,7 +240,7 @@ public class AppScheduler {
|
||||
JobDetail newJobDetail =
|
||||
jobBuilder(application, String.format("%s-%s", application.getName(), ON_DEMAND_JOB));
|
||||
newJobDetail.getJobDataMap().put("triggerType", ON_DEMAND_JOB);
|
||||
newJobDetail.getJobDataMap().put(APP_ID_KEY, application.getId());
|
||||
newJobDetail.getJobDataMap().put(APP_NAME, application.getFullyQualifiedName());
|
||||
Trigger trigger =
|
||||
TriggerBuilder.newTrigger()
|
||||
.withIdentity(
|
||||
|
Loading…
x
Reference in New Issue
Block a user