[英]Multi Tenant on Quartz.NET
我正在尝试在 Quartz.NET 中实现多租户。 我需要为具有多个数据库的 Quartz.NET 提供单个进程,并且每个数据库都用于一个租户。 我能够为每个租户创建单独的数据库。 现在我想为每个租户创建一个数据库连接,并在缓存中准备好它,以便在有新请求进入时解决它。
我在 app.config 文件中尝试了一些组合,但没有奏效。 我还尝试编写代码以在连接池中添加我自己的数据库连接,但也不起作用。
Quartz.Impl.AdoJobStore.Common.DbProvider dbp = DBConnectionManager.Instance.GetDbProvider("postgres");
//new Quartz.Impl.AdoJobStore.Common.DbProvider("postgres", "Server=scheduler_postgres;Port=5432;Userid=xxx;Password=xxx;Pooling=true;MinPoolSize=1;MaxPoolSize=20;Timeout=15;SslMode=Disable;Database=scheduler_db_xxx");
dbp.Initialize();
DBConnectionManager.Instance.AddConnectionProvider("xxx", dbp);
<add key="quartz.jobStore.dataSource" value="postgres" />
<add key="quartz.jobStore.dataSource" value="postgres_ssnc" />
<add key="quartz.jobStore.dataSource" value="postgres_abc" />
<add key="quartz.jobStore.tablePrefix" value="QRTZ_" />
<add key="quartz.dataSource.postgres.connectionString" value="Server=scheduler_postgres;Port=5434;Userid=aloha;Password=aloha;Pooling=true;MinPoolSize=1;MaxPoolSize=20;Timeout=15;SslMode=Disable;Database=scheduler_db"/>
<add key="quartz.dataSource.postgres_ssnc.connectionString" value="Server=scheduler_postgres;Port=5434;Userid=aloha;Password=aloha;Pooling=true;MinPoolSize=1;MaxPoolSize=20;Timeout=15;SslMode=Disable;Database=scheduler_db_ssnc"/>
<add key="quartz.dataSource.postgres_abc.connectionString" value="Server=scheduler_postgres;Port=5434;Userid=aloha;Password=aloha;Pooling=true;MinPoolSize=1;MaxPoolSize=20;Timeout=15;SslMode=Disable;Database=scheduler_db_abc"/>
<add key="quartz.dataSource.postgres.provider" value="Npgsql" />
<add key="quartz.plugin.recentHistory.type" value="Quartz.Plugins.RecentHistory.ExecutionHistoryPlugin, Quartz.Plugins.RecentHistory" />
<add key="quartz.plugin.recentHistory.storeType" value="Quartz.Plugins.RecentHistory.Impl.InProcExecutionHistoryStore, Quartz.Plugins.RecentHistory" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.