![]() |
VOOZH | about |
dotnet add package Milvasoft.Milvaion.Sdk.Worker.Hangfire --version 10.1.2
NuGet\Install-Package Milvasoft.Milvaion.Sdk.Worker.Hangfire -Version 10.1.2
<PackageReference Include="Milvasoft.Milvaion.Sdk.Worker.Hangfire" Version="10.1.2" />
<PackageVersion Include="Milvasoft.Milvaion.Sdk.Worker.Hangfire" Version="10.1.2" />Directory.Packages.props
<PackageReference Include="Milvasoft.Milvaion.Sdk.Worker.Hangfire" />Project file
paket add Milvasoft.Milvaion.Sdk.Worker.Hangfire --version 10.1.2
#r "nuget: Milvasoft.Milvaion.Sdk.Worker.Hangfire, 10.1.2"
#:package Milvasoft.Milvaion.Sdk.Worker.Hangfire@10.1.2
#addin nuget:?package=Milvasoft.Milvaion.Sdk.Worker.Hangfire&version=10.1.2Install as a Cake Addin
#tool nuget:?package=Milvasoft.Milvaion.Sdk.Worker.Hangfire&version=10.1.2Install as a Cake Tool
Milvaion Hangfire Integration allows you to monitor your existing Hangfire jobs through Milvaion's dashboard without changing your scheduler. Keep using Hangfire for scheduling while gaining Milvaion's monitoring, alerting, and metrics capabilities.
dotnet add package Milvasoft.Milvaion.Sdk.Worker.Hangfire
using Hangfire;
using Milvasoft.Milvaion.Sdk.Worker.Hangfire.Extensions;
var builder = Host.CreateApplicationBuilder(args);
// Add Milvaion Hangfire integration
builder.Services.AddMilvaionHangfireIntegration(builder.Configuration);
// Register your job classes
builder.Services.AddTransient<MyEmailJob>();
// Configure Hangfire
builder.Services.AddHangfire((sp, config) =>
{
config.UsePostgreSqlStorage(connectionString);
// Enable Milvaion filter
config.UseMilvaion(sp);
});
builder.Services.AddHangfireServer();
var host = builder.Build();
// Register recurring jobs
using (var scope = host.Services.CreateScope())
{
var manager = scope.ServiceProvider.GetRequiredService<IRecurringJobManager>();
manager.AddOrUpdate<MyEmailJob>(
"daily-email",
job => job.SendAsync(CancellationToken.None),
Cron.Daily);
}
await host.RunAsync();
{
"Worker": {
"WorkerId": "hangfire-worker-1",
"RabbitMQ": {
"Host": "localhost",
"Port": 5672,
"Username": "guest",
"Password": "guest"
},
"Redis": {
"ConnectionString": "localhost:6379"
},
"ExternalScheduler": {
"SourceName": "Hangfire"
}
}
}
public class MyEmailJob(ILogger<MyEmailJob> logger)
{
public async Task SendAsync(CancellationToken cancellationToken)
{
logger.LogInformation("Starting email job...");
// Your job logic here
await SendEmailsAsync(cancellationToken);
logger.LogInformation("Email job completed!");
}
}
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.