【问题标题】:Same Quartz.Net scheduler in multiple app server.多个应用服务器中的相同 Quartz.Net 调度程序。
【发布时间】:2018-03-08 14:08:08
【问题描述】:

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

在我的公司,我们有 2 台应用服务器机器,它们自己是主从。如果主应用关闭,从机就可以代替它。我们将在这些服务器中设置控制台应用程序(作为服务)。

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

PS:我们使用的是 MsSQL jobStore (AdoNetJobStore)。

感谢您的回复。

【问题讨论】:

    标签: c# scheduler quartz.net


    【解决方案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>
    

    谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 2020-10-11
      相关资源
      最近更新 更多