public List <JobInstance> QueueJob(Integration integration, IEnumerable <DataSource> sourceSideDataSourcesToRun, Job jobToRun, DateTime scheduledStartTime, string invocationSource, JobInvocationSourceType invocationType) { try { return(JobQueueManager.QueueJob(integration, sourceSideDataSourcesToRun, jobToRun, scheduledStartTime, invocationSource, invocationType)); } catch (Exception ex) { SyncEngineLogger.WriteExceptionToLog(ex, WEB_SERVICE_EXCEPTION_MESSAGE); throw; } }
public JobInstance QueueJobWithFilters(Integration integration, DataSource sourceSideDataSourceToRun, Job jobToRun, DateTime scheduledStartTime, string invocationSource, JobInvocationSourceType invocationType, List <JobFilter> filters) { try { return(JobQueueManager.QueueJob(integration, sourceSideDataSourceToRun, jobToRun, scheduledStartTime, invocationSource, invocationType, filters)); } catch (Exception ex) { SyncEngineLogger.WriteExceptionToLog(ex, WEB_SERVICE_EXCEPTION_MESSAGE); throw; } }
public void ExecuteJob(string jobName, JobTerminateOnErrorType jobTerminateOnErrorType, Type[] jobStepTypes) { var job = new Job(Guid.NewGuid(), jobName); job.TerminateOnErrorType = jobTerminateOnErrorType; job.AddDataSource(_sourceSideDataSource, SyncSide.Source); job.AddDataSource(_targetSideDataSource, SyncSide.Target); foreach (var jobStepType in jobStepTypes) { var jobStep = new JobStep(Guid.NewGuid(), jobStepType.Name, jobStepType.FullName); job.AddStep(jobStep); } JobQueueManager.QueueJob(_integration, _sourceSideDataSource, job, DateTime.Now, Path.GetFileName(Assembly.GetCallingAssembly().Location), JobInvocationSourceType.OnDemand); while (JobQueueManager.HasWaitingJobs || JobQueueManager.HasRunningJobs) { Thread.Sleep(500); } }