private void internalExecuteJobConfiguration( JobConfiguration jobConfiguration ) { JobInstance jobInstance = new DefaultJobInstance(); ListenableFuture<?> future = jobExecutor.submitListenable( () -> { try { jobInstance.execute( jobConfiguration, this, messageService, leaderManager ); } catch ( Exception e ) { log.error( DebugUtils.getStackTrace( e ) ); } } ); currentTasks.put( jobConfiguration.getUid(), future ); log.info( "Scheduler initiated execution of job: " + jobConfiguration ); }
@Override public void scheduleJobWithStartTime( JobConfiguration jobConfiguration, Date startTime ) { if ( ifJobInSystemStop( jobConfiguration.getUid() ) ) { JobInstance jobInstance = new DefaultJobInstance(); if ( jobConfiguration.getUid() != null && !futures.containsKey( jobConfiguration.getUid() ) ) { ScheduledFuture<?> future = jobScheduler .schedule( () -> { try { jobInstance.execute( jobConfiguration, this, messageService, leaderManager ); } catch ( Exception e ) { log.error( DebugUtils.getStackTrace( e ) ); } }, startTime ); futures.put( jobConfiguration.getUid(), future ); log.info( "Scheduled job: " + jobConfiguration ); } } }
@Override public void scheduleJob( JobConfiguration jobConfiguration ) { if ( ifJobInSystemStop( jobConfiguration.getUid() ) ) { JobInstance jobInstance = new DefaultJobInstance(); if ( jobConfiguration.getUid() != null && !futures.containsKey( jobConfiguration.getUid() ) ) { ScheduledFuture<?> future = jobScheduler .schedule( () -> { try { jobInstance.execute( jobConfiguration, this, messageService, leaderManager ); } catch ( Exception e ) { log.error( DebugUtils.getStackTrace( e ) ); } }, new CronTrigger( jobConfiguration.getCronExpression() ) ); futures.put( jobConfiguration.getUid(), future ); log.info( "Scheduled job: " + jobConfiguration ); } } }