我已经创建了基于quartz.net的作业,该作业将作业存储信息保存在RAM中。 我希望在elasticsearch中保留作业存储信息,这样如果我重新启动服务器,它将根据存储在elasticsearch中的状态运行作业。由于一些约束,我不能使用任何数据库。有什么办法吗?我找到了一些有用的链接,我不知道它在.net中是如何兼容的,下面的插件/代码是否正常工作..
https://github.com/viskan/quartz-elasticsearch-jobstore
如果您有任何其他想法或任何工具来创建作业并将作业状态存储在elasticsearch中,请提及。
任何帮助将不胜感激..
答案 0 :(得分:0)
我认为你缺少的方面是Quartz.Net是java“Quartz”的PORT OVER。 你找到的代码是针对java版本的Quartz,而不是Quartz.Net。
简短的回答是“不,你不能那样做”。 (使用现有代码)
答案很长,你需要编写自己的数据存储具体类。
由于您不想使用以下任何一项:
https://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/job-stores.html
Currently following database providers are supported:
SqlServer-20 - SQL Server driver for .NET Framework 2.0
OracleODP-20 - Oracle’s Oracle Driver
OracleODPManaged-1123-40 Oracle’s managed driver for Oracle 11
OracleODPManaged-1211-40 Oracle’s managed driver for Oracle 12
MySql-50 - MySQL Connector/.NET v. 5.0 (.NET 2.0)
MySql-51 - MySQL Connector/:NET v. 5.1 (.NET 2.0)
MySql-65 - MySQL Connector/:NET v. 6.5 (.NET 2.0)
SQLite-10 - SQLite ADO.NET 2.0 Provider v. 1.0.56 (.NET 2.0)
Firebird-201 - Firebird ADO.NET 2.0 Provider v. 2.0.1 (.NET 2.0)
Firebird-210 - Firebird ADO.NET 2.0 Provider v. 2.1.0 (.NET 2.0)
Npgsql-20 - PostgreSQL Npgsql
你会写自己的。或者你可以获得你找到的代码的java版本,并将其移植到C#。
这是很多工作。
这就是为什么大多数人选择想办法使用其中一个现有的“商店”。