Nefarius.Quartz.JobStore.RavenDB
2.0.0
Prefix Reserved
dotnet add package Nefarius.Quartz.JobStore.RavenDB --version 2.0.0
NuGet\Install-Package Nefarius.Quartz.JobStore.RavenDB -Version 2.0.0
<PackageReference Include="Nefarius.Quartz.JobStore.RavenDB" Version="2.0.0" />
paket add Nefarius.Quartz.JobStore.RavenDB --version 2.0.0
#r "nuget: Nefarius.Quartz.JobStore.RavenDB, 2.0.0"
// Install Nefarius.Quartz.JobStore.RavenDB as a Cake Addin #addin nuget:?package=Nefarius.Quartz.JobStore.RavenDB&version=2.0.0 // Install Nefarius.Quartz.JobStore.RavenDB as a Cake Tool #tool nuget:?package=Nefarius.Quartz.JobStore.RavenDB&version=2.0.0
Quartz.NET-RavenDB
JobStore implementation for Quartz.NET scheduler using RavenDB.
About
Quartz.NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.
Quartz.NET on RavenDB is a new provider written for Quartz.NET which lets us use the RavenDB NoSQL database as the persistent Job Store for scheduling data (instead of the SQL solutions that are built-in Quartz.NET).
Installation
First add scheduling to your app using Quartz.NET (example). Then install the NuGet package.
Configuration & Usage
.NET Framework
In your code, where you would have normally configured Quartz to use a persistent job store, you must add the following configuration properties:
// In your application where you want to setup the scheduler:
NameValueCollection properties = new NameValueCollection
{
// Normal scheduler properties
["quartz.scheduler.instanceName"] = "TestScheduler",
["quartz.scheduler.instanceId"] = "instance_one",
["quartz.threadPool.type"] = "Quartz.Simpl.SimpleThreadPool, Quartz",
["quartz.threadPool.threadCount"] = "1",
["quartz.threadPool.threadPriority"] = "Normal",
// RavenDB JobStore property
["quartz.jobStore.type"] = "Quartz.Impl.RavenDB.RavenJobStore, Quartz.Impl.RavenDB"
// RavenDB Default Database name
["quartz.jobStore.database"] = "QuartzDemo",
// One or more URLs to database server
["quartz.jobStore.urls"] = "[\"http://live-test.ravendb.net\"]",
// If you use authentication, specify certificate and password
//["quartz.jobStore.certPath"] = "My/Cert/path.pfx",
//["quartz.jobStore.certPass"] = "SuperSecret",
};
// Init scheduler with the desired configuration properties
ISchedulerFactory sf = new StdSchedulerFactory(properties);
IScheduler scheduler = sf.GetScheduler();
.NET Core
For use in .NET Core Workers or ASP.NET Core use the recommended Fluent API when setting up a Quartz in ConfigureServices
like:
var configuration = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();
var section = configuration.GetSection("MyService");
var config = section.Get<MyServiceConfig>();
services.AddQuartz(q =>
{
q.UseMicrosoftDependencyInjectionJobFactory();
q.UseDefaultThreadPool(tp =>
{
tp.MaxConcurrency = 10;
});
q.UsePersistentStore(s =>
{
s.UseRavenDb(options =>
{
options.Urls = config.QuartzRavenStore.Urls;
options.Database = config.QuartzRavenStore.DatabaseName;
// specify certificate, if necessary
});
s.UseJsonSerializer();
});
// Add jobs and triggers as you wish
}
);
services.AddQuartzHostedService(
q => q.WaitForJobsToComplete = true);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.1
- Quartz (>= 3.3.3)
- RavenDB.Client (>= 5.2.1)
-
.NETFramework 4.7.2
- Quartz (>= 3.3.3)
- RavenDB.Client (>= 5.2.1)
-
.NETStandard 2.0
- Quartz (>= 3.3.3)
- RavenDB.Client (>= 5.2.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.0 | 602 | 2/26/2022 |