public void GenerateCampaignData(ExmGeneratorSettings settings) { GenerateEventService.Errors = 0; settings.Job.JobStatus = JobStatus.Running; settings.Job.Started = DateTime.Now; settings.Job.JobName = $"Generating campaign data for {settings.Count} campaign(s)"; try { CreateDataForAllCampaigns(settings.Job, settings); settings.Job.JobStatus = JobStatus.Complete; settings.Job.Status = "DONE!"; Log.Info($"EXMGenerator completed: {settings.Job.CompletedContacts}", this); } catch { settings.Job.Status = "Failed!"; settings.Job.JobStatus = JobStatus.Failed; } finally { settings.Job.Ended = DateTime.Now; } }
public Job StartJob(ExmGeneratorSettings settings) { _activeJob = new Job(); settings.Job = _activeJob; var options = new JobOptions("ExperienceGeneratorExm-" + _activeJob.Id, "ExperienceGenerator", Context.Site.Name, this, "GenerateCampaignData", new object[] { settings }); Sitecore.Jobs.JobManager.Start(options); return(_activeJob); }
public IHttpActionResult CreateCampaignData(ExmGeneratorSettings settings) { var job = JobManager.Instance.StartJob(settings); job.StatusUrl = Url.Route("ExperienceGeneratorExmJobsApi", new { action = "Status", id = job.Id }); return(Ok(job)); }