Trying different solution

This commit is contained in:
Luca Frosini 2024-05-07 16:50:51 +02:00
parent 81002fccd1
commit 93457fe823
1 changed files with 18 additions and 17 deletions

View File

@ -134,7 +134,7 @@ public class SmartExecutorInitializator implements ApplicationManager {
Thread thread = new Thread(){
@Override
public synchronized void run(){
public void run(){
LaunchParameter launchParameter = scheduledTask.getLaunchParameter();
try {
@ -148,26 +148,27 @@ public class SmartExecutorInitializator implements ApplicationManager {
Secret secret = SecretUtility.getSecretByTokenString(scheduledTasktoken);
SecretManager secretManager = SecretManagerProvider.instance.get();
try {
logger.trace("Starting a Secret Manager session...");
secretManager.startSession(secret);
SmartExecutorScheduler smartExecutorScheduler = SmartExecutorSchedulerFactory.getSmartExecutorScheduler();
// A new Scheduled Task will be persisted due to launch. Removing it
smartExecutorPersistenceConnector.removeScheduledTask(scheduledTask);
smartExecutorScheduler.schedule(launchParameter, scheduledTask.getUUID());
} catch (Exception e) {
logger.error("({}) Error while trying to relaunch scheduled task.", context, e);
synchronized (secretManager) {
try {
smartExecutorPersistenceConnector.addScheduledTask(scheduledTask);
} catch (Exception ex) {
logger.error("({}) Unable to add back scheduled task {}", context, taskAsString);
logger.trace("Starting a Secret Manager session (synchronized block)...");
secretManager.startSession(secret);
SmartExecutorScheduler smartExecutorScheduler = SmartExecutorSchedulerFactory.getSmartExecutorScheduler();
// A new Scheduled Task will be persisted due to launch. Removing it
smartExecutorPersistenceConnector.removeScheduledTask(scheduledTask);
smartExecutorScheduler.schedule(launchParameter, scheduledTask.getUUID());
} catch (Exception e) {
logger.error("({}) Error while trying to relaunch scheduled task.", context, e);
try {
smartExecutorPersistenceConnector.addScheduledTask(scheduledTask);
} catch (Exception ex) {
logger.error("({}) Unable to add back scheduled task {}", context, taskAsString);
}
}finally {
secretManager.endSession();
logger.trace("Secret Manager session terminated (synchronized block).");
}
}finally {
secretManager.endSession();
logger.trace("Secret Manager session terminated.");
}
}
};