一、再思考
了解Quartz.NET的基本使用方法了。但如果想方便的知道某个作业执行情况,需要暂停,启动等操作行为,这时候就需要个Job管理的界面,如何才能达到我们想到的效果,查看相关Quartz.net文档 提供两种方式解决这个问题;
第一种方式:直接对QuartzJob进行远程控制(此种方式实现相对比较简单)
第二种方式:Quartz的集群配置;
接下我们介绍第一种方式:使用Website对Job进行管理
1、作业服务端
Quartz.config 配置文件
# You can configure your scheduler in either <quartz> configuration section # or in quartz properties file # Configuration section has precedence
quartz.scheduler.instanceName = QuartzTest
# configure thread pool info
// 设置线程池 quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz quartz.threadPool.threadCount = 10 quartz.threadPool.threadPriority = Normal
# job initialization plugin handles our xml reading, without it defaults are used quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
# export this server to remoting context
// 远程输出配置
#quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz #quartz.scheduler.exporter.port = 555() #quartz.scheduler.exporter.bindName = QuartzScheduler #quartz.scheduler.exporter.channelType = tcp #quartz.scheduler.exporter.channelName = httpQuartz
2、作业远程管理端 ------ 引用官方程序集,嵌入到以后Web网站中
Webconfig 需要配置的地方
<configuration>
<crystalQuartz>
<provider>
<add property=
"Type"
value=
"CrystalQuartz.Core.SchedulerProviders.RemoteSchedulerProvider, CrystalQuartz.Core"
/>
<add property=
"SchedulerHost"
value=
"tcp://127.0.0.1:556/QuartzScheduler"
/> <!--TCP监听的地址-->
</provider>
</crystalQuartz>
<system.webServer>
<!-- Handler拦截处理了,输出作业监控页面-->
<handlers>
<add name=
"CrystalQuartzPanel"
verb=
"*"
path=
"CrystalQuartzPanel.axd"
type=
"CrystalQuartz.Web.PagesHandler, CrystalQuartz.Web"
/>
</handlers>
</system.webServer>
</configuration>
Web管理界面