Open Closed

No active server in hangfire background job #6202


User avatar
0
nhontran created
  • ABP Framework version: v5.2.2
  • UI Type: Angular
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace:
  • Steps to reproduce the issue:

Hi, I tried to add the hangfire background job to our identity server, but I encountered an issue that no active servers in the hangfire, below is the screenshot:

and here is the background job module:

[DependsOn(
        typeof(AbpBackgroundJobsAbstractionsModule),
        typeof(AbpBackgroundJobsHangfireModule)
    )]
    public class IdentityServerBackgroundJobsModule : AbpModule
    {
        public override void ConfigureServices(ServiceConfigurationContext context)
        {
            var configuration = context.Services.GetConfiguration();

            var connectionString = configuration.GetConnectionString("Default");
            context.Services.AddHangfire(config =>
            {
                config.UseSqlServerStorage(connectionString, new Hangfire.SqlServer.SqlServerStorageOptions()
                {
                    SchemaName = "Hangfire"
                });
            });
        }

        public override void OnApplicationInitialization(ApplicationInitializationContext context)
        {
            var app = context.GetApplicationBuilder();
            var configuration = context.GetConfiguration();

            app.UseHangfireDashboard();

            ConfireHangfireJobs(configuration);
        }

        private void ConfireHangfireJobs(IConfiguration configuration)
        {
            // remove all the jobs if exist
            using (var connection = JobStorage.Current.GetConnection())
            {
                foreach (var recurringJob in StorageConnectionExtensions.GetRecurringJobs(connection))
                {
                    RecurringJob.RemoveIfExists(recurringJob.Id);
                }
            }

            // add new job
            if (Convert.ToBoolean(configuration["RecurringJobs:HousekeepingJob:IsActive"]))
            {
                RecurringJob.AddOrUpdate<HousekeepingJob>(s => s.ExecuteAsync(), configuration["RecurringJobs:HousekeepingJob:CronSchedule"]);
            }
        }
    }

Any help would be greatly appreciated.


6 Answer(s)
  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Is there any info in the logs.txt?

  • User Avatar
    0
    nhontran created

    Hi maliming,

    No errors appear in the logs, but I noticed that there is no step for starting Hangfire:

    [22:43:16 INF] Start installing Hangfire SQL objects... [22:43:16 INF] Hangfire SQL objects installed. [22:43:30 INF] Starting IdentityServer4 version 4.1.2+997a6cdd643e46cd5762b710c4ddc43574cbec2e [22:43:32 INF] Using the default authentication scheme Identity.Application for IdentityServer

    Btw, I have shared the source code with you via email, could you please help us check.

    Thank you.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    AddHangfireServer

    context.Services.AddHangfire(config =>
    {
        config.UseSqlServerStorage(connectionString, new Hangfire.SqlServer.SqlServerStorageOptions()
        {
            SchemaName = "Hangfire"
        });
    });
    
    context.Services.AddHangfireServer(options =>
    {
        options.ServerName = "IdentityServerBackgroundJobs";
    });
    

  • User Avatar
    0
    nhontran created

    Hi maliming,

    Thanks for the fix, it is working now.

    But may I know why do we need the AddHangfireServer? it is not included in the documentation: https://docs.abp.io/en/abp/latest/Background-Jobs-Hangfire

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    You should follow Hangfire's document first.

    https://docs.hangfire.io/en/latest/getting-started/aspnet-core-applications.html?highlight=addhangfireserver

  • User Avatar
    0
    nhontran created

    Hi maliming,

    ok, noted on this. Thanks for your support.

Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
Do you need assistance from an ABP expert?
Schedule a Meeting
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v9.2.0-preview. Updated on March 13, 2025, 04:08