![]() |
VOOZH | about |
dotnet add package Milvasoft.Milvaion.Sdk.Worker.Quartz --version 10.1.2
NuGet\Install-Package Milvasoft.Milvaion.Sdk.Worker.Quartz -Version 10.1.2
<PackageReference Include="Milvasoft.Milvaion.Sdk.Worker.Quartz" Version="10.1.2" />
<PackageVersion Include="Milvasoft.Milvaion.Sdk.Worker.Quartz" Version="10.1.2" />Directory.Packages.props
<PackageReference Include="Milvasoft.Milvaion.Sdk.Worker.Quartz" />Project file
paket add Milvasoft.Milvaion.Sdk.Worker.Quartz --version 10.1.2
#r "nuget: Milvasoft.Milvaion.Sdk.Worker.Quartz, 10.1.2"
#:package Milvasoft.Milvaion.Sdk.Worker.Quartz@10.1.2
#addin nuget:?package=Milvasoft.Milvaion.Sdk.Worker.Quartz&version=10.1.2Install as a Cake Addin
#tool nuget:?package=Milvasoft.Milvaion.Sdk.Worker.Quartz&version=10.1.2Install as a Cake Tool
Milvaion Quartz Integration allows you to monitor your existing Quartz.NET jobs through Milvaion's dashboard without changing your scheduler. Keep using Quartz for scheduling while gaining Milvaion's monitoring, alerting, and metrics capabilities.
dotnet add package Milvasoft.Milvaion.Sdk.Worker.Quartz
using Milvasoft.Milvaion.Sdk.Worker.Quartz.Extensions;
using Quartz;
var builder = Host.CreateApplicationBuilder(args);
// Add Milvaion Quartz integration
builder.Services.AddMilvaionQuartzIntegration(builder.Configuration);
// Configure Quartz with your jobs
builder.Services.AddQuartz(q =>
{
// Enable Milvaion listeners
q.UseMilvaion(builder.Services);
// Register your jobs as usual
var jobKey = new JobKey("MyJob", "MyGroup");
q.AddJob<MyJob>(opts => opts.WithIdentity(jobKey));
q.AddTrigger(opts => opts
.ForJob(jobKey)
.WithCronSchedule("0 0 * * * ?"));
});
builder.Services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true);
await builder.Build().RunAsync();
{
"Worker": {
"WorkerId": "quartz-worker-1",
"RabbitMQ": {
"Host": "localhost",
"Port": 5672,
"Username": "guest",
"Password": "guest"
},
"Redis": {
"ConnectionString": "localhost:6379"
},
"ExternalScheduler": {
"SourceName": "Quartz"
}
}
}
public class MyJob(ILogPublisher logPublisher) : IJob
{
public async Task Execute(IJobExecutionContext context)
{
var correlationId = Guid.Parse(
context.MergedJobDataMap.GetString("Milvaion_CorrelationId"));
var workerId = context.MergedJobDataMap.GetString("Milvaion_WorkerId");
await logPublisher.PublishLogAsync(new JobOccurrenceLogMessage
{
CorrelationId = correlationId,
WorkerId = workerId,
Level = "Information",
Message = "Processing started...",
Timestamp = DateTime.UtcNow
});
// Your job logic here
await logPublisher.FlushAsync();
}
}
External jobs appear in Milvaion dashboard with:
For complete documentation, visit: Milvaion Documentation
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.