Exemple #1
0
        public void Start(string name, string category, ThreadStart task, Language language = null, User user = null,
                          IJobOptions options = null)
        {
            Assert.ArgumentNotNullOrEmpty(name, "name");
            Assert.ArgumentNotNullOrEmpty(category, "category");
            Assert.ArgumentNotNull(task, "task");
            var siteName   = Sitecore.Context.Site?.Name ?? string.Empty;
            var jobOptions = TypeResolver.Resolve <IJobOptions>(new object[] { $"{name} - {Sitecore.Context.User?.Name}", category, siteName, new TaskRunner(task), "Run" });

            jobOptions.ContextUser     = user ?? options?.ContextUser ?? Sitecore.Context.User;
            jobOptions.AtomicExecution = false;
            jobOptions.EnableSecurity  = options?.EnableSecurity ?? true;
            jobOptions.ClientLanguage  = language ?? options?.ClientLanguage ?? Sitecore.Context.Language;
            jobOptions.AfterLife       = new TimeSpan(0, 0, 0, 10);

            var jobManager = TypeResolver.ResolveFromCache <IJobManager>();

            JobHandle = jobManager.StartJob(jobOptions);
            ScheduleCallback();
        }
Exemple #2
0
        public Handle StartJob(IJobOptions jobOptions)
        {
            var options = jobOptions as SpeJobOptions;

            return(JobManager.Start(options).Handle);
        }