Example #1
0
        public async Task Inity()
        {
            //1、声明一个调度工厂
            //2、通过调度工厂获得调度器
            Scheduler = await schedulerFactory.GetScheduler();

            DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("SQLite-Microsoft", SqliteHelper.dataSource));
            var serializer = new JsonObjectSerializer();

            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource  = "default",
                TablePrefix = "QRTZ_",
                InstanceId  = "AUTO",
                //DriverDelegateType = typeof(MySQLDelegate).AssemblyQualifiedName, //MySql存储
                DriverDelegateType = typeof(SQLiteDelegate).AssemblyQualifiedName,  //SQLite存储
                ObjectSerializer   = serializer
            };

            DirectSchedulerFactory.Instance.CreateScheduler("benny" + "Scheduler", "AUTO", new DefaultThreadPool(), jobStore);
            Scheduler = SchedulerRepository.Instance.Lookup("benny" + "Scheduler").Result;

            //scheduler.Start();

            //默认开始调度器
            await Scheduler.Start();

            //return await Task.FromResult("将触发器和任务器绑定到调度器中完成");
        }
Example #2
0
        private async Task <IScheduler> GetScheduler()
        {
            //MySql存储
            DBConnectionManager.Instance.AddConnectionProvider("default",
                                                               new DbProvider("MySql",
                                                                              "server=127.0.0.1;user id=root;password=123456;database=quartz"));

            SimpleInstanceIdGenerator idGenerator = new SimpleInstanceIdGenerator();
            var instanceId = await idGenerator.GenerateInstanceId();

            var instancename = "SystemScheduler";
            var serializer   = new JsonObjectSerializer();

            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource         = "default",
                TablePrefix        = "QRTZ_",
                InstanceId         = instanceId,
                InstanceName       = instancename,
                DriverDelegateType = typeof(MySQLDelegate).AssemblyQualifiedName, //MySql存储
                ObjectSerializer   = serializer,
                Clustered          = true
            };

            DirectSchedulerFactory.Instance.CreateScheduler(instancename, instanceId, new DefaultThreadPool(), jobStore);
            var scheduler = await SchedulerRepository.Instance.Lookup(instancename);

            await scheduler.Start(); //默认开始调度器

            return(scheduler);
        }
Example #3
0
        public async Task <IScheduler> GetScheduler()
        {
            LogProvider.SetCurrentLogProvider(new QuartzLogProvider());
            IScheduler _scheduler;
            string     driverDelegateType;
            var        db = Configuration.GetSection("DB").Value;

            switch (db)
            {
            case "MsSql":
                DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("SqlServer", Configuration["ConnectionStrings:MsSqlConnection"]));
                driverDelegateType = typeof(SqlServerDelegate).AssemblyQualifiedName;
                break;

            case "MySql":
                DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("MySql", Configuration["ConnectionStrings:MySqlConnection"]));
                driverDelegateType = typeof(MySQLDelegate).AssemblyQualifiedName;
                break;

            default:
                DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("SqlServer", Configuration["ConnectionStrings:MsSqlConnection"]));
                driverDelegateType = typeof(SqlServerDelegate).AssemblyQualifiedName;
                break;
            }

            var serializer = new JsonObjectSerializer();

            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource         = "default",
                TablePrefix        = "QRTZ_",
                InstanceId         = "AUTO",
                DriverDelegateType = driverDelegateType ?? string.Empty,  //SQLServer存储
                ObjectSerializer   = serializer,
                //Clustered = true, //集群标志
                //AcquireTriggersWithinLock = true,   //如果是集群 建议设为true
                InstanceName = "Lion",
            };
            var threadPool = new DefaultThreadPool
            {
                ThreadCount = 20,
            };

            DirectSchedulerFactory.Instance.CreateScheduler("Scheduler", "AUTO", threadPool, jobStore);
            _scheduler = await SchedulerRepository.Instance.Lookup("Scheduler");

            _scheduler.ListenerManager.AddJobListener(new MyJobListener(), GroupMatcher <JobKey> .AnyGroup());
            //_scheduler.ListenerManager.AddTriggerListener(new MyTriggerListener(), GroupMatcher<TriggerKey>.AnyGroup());
            _scheduler.ListenerManager.AddSchedulerListener(new MySchedulerListener());

            return(_scheduler);
        }
        private Task<IScheduler> CreateScheduler(string name, int threadPoolSize)
        {
            DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("SqlServer-20", "Server=(local);Database=quartz;Trusted_Connection=True;"));

            var serializer = new JsonObjectSerializer();
            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource = "default",
                TablePrefix = "QRTZ_",
                InstanceId = "AUTO",
                DriverDelegateType = typeof(SqlServerDelegate).AssemblyQualifiedName,
                ObjectSerializer = serializer
            };

            DirectSchedulerFactory.Instance.CreateScheduler(name + "Scheduler", "AUTO", new DefaultThreadPool(), jobStore);
            return SchedulerRepository.Instance.Lookup(name + "Scheduler");
        }
Example #5
0
 /// <summary>
 /// 初始化Scheduler
 /// </summary>
 private async Task InitSchedulerAsync()
 {
     if (scheduler == null)
     {
         DBConnectionManager.Instance.AddConnectionProvider("default", dbProvider);
         var serializer = new JsonObjectSerializer();
         serializer.Initialize();
         var jobStore = new JobStoreTX
         {
             DataSource         = "default",
             TablePrefix        = "QRTZ_",
             InstanceId         = "AUTO",
             DriverDelegateType = driverDelegateType,
             ObjectSerializer   = serializer,
         };
         DirectSchedulerFactory.Instance.CreateScheduler("bennyScheduler", "AUTO", new DefaultThreadPool(), jobStore);
         scheduler = await SchedulerRepository.Instance.Lookup("bennyScheduler");
     }
 }
Example #6
0
        private Task <IScheduler> CreateScheduler(string name, int threadPoolSize)
        {
            DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider("SqlServer-20", "Server=(local);Database=quartz;Trusted_Connection=True;"));

            var serializer = new JsonObjectSerializer();

            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource         = "default",
                TablePrefix        = "QRTZ_",
                InstanceId         = "AUTO",
                DriverDelegateType = typeof(SqlServerDelegate).AssemblyQualifiedName,
                ObjectSerializer   = serializer
            };

            DirectSchedulerFactory.Instance.CreateScheduler(name + "Scheduler", "AUTO", new DefaultThreadPool(), jobStore);
            return(SchedulerRepository.Instance.Lookup(name + "Scheduler"));
        }
Example #7
0
        private Task <IScheduler> CreateScheduler(string name)
        {
            DBConnectionManager.Instance.AddConnectionProvider("default", new DbProvider(TestConstants.DefaultSqlServerProvider, TestConstants.SqlServerConnectionString));

            var serializer = new JsonObjectSerializer();

            serializer.Initialize();
            var jobStore = new JobStoreTX
            {
                DataSource         = "default",
                TablePrefix        = "QRTZ_",
                InstanceId         = "AUTO",
                DriverDelegateType = typeof(SqlServerDelegate).AssemblyQualifiedName,
                ObjectSerializer   = serializer
            };

            DirectSchedulerFactory.Instance.CreateScheduler(name + "Scheduler", "AUTO", new DefaultThreadPool(), jobStore);
            return(SchedulerRepository.Instance.Lookup(name + "Scheduler"));
        }
Example #8
0
 public void SetUp()
 {
     serializer = new JsonObjectSerializer();
     serializer.Initialize();
 }