public bool LaunchJob(PostLaunchJobRequest request) { ProcessBase process = IntegrationFactory.GetIntegrationProcess( request.CustomerId, request.AdmUserId, request.JobId); IProcessArguments pargs = new IntegrationJobArguments() { CustomerID = request.CustomerId, AdmIntegrationJobID = request.JobId, AdmUserID = request.AdmUserId, AdmIntegrationJobsFileID = request.FileId //IsImport = true }; var job = JobManager.Instance.DoJobAsync(a => process.Run(pargs)); process.OnStatusChanged += (sender, e) => { Trace.Write(e.StatusMessage); }; process.OnStepChanged += (sender, e) => { Trace.Write(e.StatusMessage); job.ReportProgress(e.PercentComplete, e.StatusMessage); }; process.OnComplete += (sender, result) => { job.OnSendResults(result); job.ReportComplete(); }; JobStorage.Instance.StoreGlobalJobId(job.Id); return(true); }
public ActionResult <bool> LaunchJob(PostLaunchJobRequest request) { return(_integrationJobsLogic.LaunchJob(request)); }