多个应用服务器中的相同Quartz.Net调度程序。

时间:2018-03-08 14:08:08

标签: c# scheduler quartz.net

我是Quartz.NET(v.3.0.3)中的新功能。我有控制台应用程序和它的石英主机和广播 tcp.x:555 / QuartzScheduler < /强>

在我的公司,我们有2台app服务器机器,他们自己是主机 - 奴隶。如果主应用程序是关闭奴隶,请把它放在那里。我们将在这些服务器中设置控制台应用程序(作为服务)

如果我们这样做,Quartz.NET会发生什么,这些调度程序是相同还是不同?

PS:我们正在使用MsSQL jobStore(AdoNetJobStore)。

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

我在这个页面找到了自己的解决方案;

Quartz.NET Clustering

我复制我的控制台应用并更改端口地址(1:localhost:555端口,2:localhost:556端口),创建六个作业,其中三个在30秒内运行,其他在60秒内运行。我们在同一个中运行它们时间和这里石英做什么;

running same PC Console App

和我的本性;

<quartz>
    <add key="quartz.scheduler.instanceName" value="RemoteServer"></add>
    <add key="quartz.scheduler.instanceId" value="AUTO"></add>
    <add key="quartz.jobStore.clustered" value="true"></add>
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz"></add>
    <add key="quartz.threadPool.threadCount" value="5"></add>
    <add key="quartz.threadPool.threadPriority" value="Normal"></add>

    <!-- Tcp Hosting-->
    <add key="quartz.scheduler.exporter.type" value="Quartz.Simpl.RemotingSchedulerExporter, Quartz"></add>
    <add key="quartz.scheduler.exporter.port" value="556"></add>
    <add key="quartz.scheduler.exporter.bindName" value="QuartzScheduler"></add>
    <add key="quartz.scheduler.exporter.channelType" value="tcp"></add>
    <add key="quartz.scheduler.exporter.channelName" value="httpQuartz"></add>

    <!-- DB-->
    <add key="quartz.jobStore.type" value="Quartz.Impl.AdoJobStore.JobStoreTX, Quartz"></add>
    <add key="quartz.jobStore.useProperties" value="true"></add>
    <add key="quartz.jobStore.dataSource" value="myDS"></add>
    <add key="quartz.jobStore.tablePrefix" value="[dbo].QRTZ_"></add>
    <add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.SqlServerDelegate, Quartz"></add>
    <add key="quartz.dataSource.myDS.connectionString" value="Data Source=xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx"></add>
    <add key="quartz.dataSource.myDS.provider" value="SqlServer"></add>
    <add key="quartz.serializer.type" value="binary"></add>

谢谢!