예제 #1
0
        public BaseEventScheduler(ICronScheduler cronScheduler, IValveManager valveManager)
        {
            mCronScheduler = cronScheduler;
            mValveManager  = valveManager;

            mEventsIds = new Dictionary <Event, int>();
        }
예제 #2
0
        public virtual void Add(ICronScheduler cs)
        {
            string jobName = "quartzJob_" + cs.Id;

            IJobDetail jobDetail = JobBuilder
                                   .Create <CronScheduler.CronSchedulerQuartzJob>()
                                   .WithIdentity(jobName)
                                   .Build();

            jobDetail.JobDataMap["csInstance"] = cs;

            // using CRON string stored in database create the trigger
            ITrigger trigger = TriggerBuilder.Create()
                               .WithIdentity(cs.Id.ToString())
                               .WithCronSchedule(cs.CronExpression)
                               .Build();

            this._cronSchedulers.Add(cs.Id, cs);
            this._quartzScheduler.ScheduleJob(jobDetail, trigger);
        }