2017-07-12 36 views
0

我已經創建了基於quartz.net的作業,它將作業存儲信息保存在RAM中。 我想在elasticsearch中堅持作業存儲信息,這樣如果我重新啓動服務器,它將根據elasticsearch中存儲的狀態運行作業。由於某些限制,我無法使用任何數據庫。有什麼辦法可以做到嗎?我已經發現了一些有用的鏈接,我不知道它是如何在.NET和下面的插件/代碼工作正常或不兼容..使用elasticsearch和c存儲作業#

https://github.com/viskan/quartz-elasticsearch-jobstore

如果您有任何替代的想法或任何工具用於創建作業並在彈性搜索中存儲作業狀態請參考。

任何幫助將不勝感激..

回答

0

我認爲你缺少的方面是,Quartz.Net是Java的PORT OVER「石英」。 而你找到的代碼是用於Quartz的Java版本,而不是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#中。

這是很多工作。

因此,爲什麼大多數人選擇找出某種方式來使用現有的「商店」之一。