我希望两个Web应用程序只调度作业,而Windows服务只是为了执行作业.
问题出现了:
如果我在两个Web应用程序和Windows服务中创建IScheduler实例,它们将同时执行作业,可能会发生冲突.
如果我不在两个Web应用程序中创建IScheduler实例,如何从Web应用程序调度作业到Windows服务?
有没有办法让IScheduler只安排工作而不执行工作? (我可以将IJob程序集部署到所有这三个应用程序)
我已经实现了类似于你想要做的事情.
首先,确保在服务配置文件(app.config)中配置了四个键quartz.scheduler.exporter.type,quartz.scheduler.exporter.port,quartz.scheduler.exporter.bindName和quartz.scheduler. exporter.channelType.
其次,确保您的web.config配置了以下四个密钥:quartz.scheduler.instanceName,quartz.scheduler.instanceId,quartz.scheduler.proxy和quartz.scheduler.proxy.address.
然后,当您创建StdSchedulerFactory()并使用它来获取调度程序时,您不是实例化新的调度程序,而是附加到现有的调度程序.然后,您可以通过远程调度程序执行任何操作,您可以使用本地操作系统执行任何操作,但只有一个实例可以执行作业.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。