c# - hangfire作业的最短时间是多少

标签 c# asp.net-core hangfire

我使用 hangfire 创建了一个 Asp.Net Core 3.1 项目。我将 hangfire 配置为每秒运行一次,但它每 15 秒或更长时间运行一次。 这是我的ConfigureService

public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers();
    services.AddScoped<IShowDate, ShowDate>();
    services.AddHangfire(x =>
    {
        x.UseMemoryStorage();
    });
    services.AddHangfireServer();
}

配置方法

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseHttpsRedirection();

    RecurringJob.AddOrUpdate<IShowDate>(job => job.Print(), "*/1 * * * * *");

    app.UseRouting();

    app.UseAuthorization();
    app.UseHangfireDashboard();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
        endpoints.MapHangfireDashboard();
    });
}

ShowDate

public interface IShowDate
{
    Task Print();
}
public class ShowDate : IShowDate
{
    public async Task Print()
    {
        Console.WriteLine($"Example {DateTime.Now}");
        await Task.CompletedTask;
    }
}

结果

Example 9/8/2020 10:46:14 AM
Example 9/8/2020 10:46:29 AM
Example 9/8/2020 10:46:44 AM
Example 9/8/2020 10:46:59 AM
Example 9/8/2020 10:47:14 AM
Example 9/8/2020 10:47:29 AM
Example 9/8/2020 10:47:44 AM
Example 9/8/2020 10:47:59 AM
Example 9/8/2020 10:48:14 AM
Example 9/8/2020 10:48:29 AM
Example 9/8/2020 10:48:44 AM
Example 9/8/2020 10:48:59 AM
Example 9/8/2020 10:49:14 AM
Example 9/8/2020 10:49:29 AM
Example 9/8/2020 10:49:44 AM
Example 9/8/2020 10:49:59 AM

如何每秒钟运行一次作业?

最佳答案

将默认的 SchedulePollingInterval 更改为 1 秒

services.AddHangfireServer(option =>
{
    option.SchedulePollingInterval = TimeSpan.FromSeconds(1);
});

关于c# - hangfire作业的最短时间是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63788069/

相关文章:

c# - 无法部署 Razor Pages 网站

c# - 永不运行的 Hangfire cron 表达式

c# - 无法加载类型 'Microsoft.ApplicationInsights.Telemetry.Web.ApplicationInsightsModule'

c# - 升级到 ASP.NET Core 2.0 后 Web API 控制台中的重复信息消息

c# - 无限重复列表(用无限重复序列压缩有限列表)

c# - 从 URI 查询字符串解析字符串总是返回空值

c# - Hangfire 即使在不活动时也会继续运行 SQL 查询

azure - Azure 上 Hangfire 的最佳实践

c# - 文件读取问题 C++/C#

c# - C# 与 LISP 中的函数式编程