Hangfire 有内存作业存储包吗?

2023-12-27

我有一个控制台应用程序来测试 HangFire。这是代码:

using System;
using Hangfire;

namespace MyScheduler.ConsoleApp
{
    internal static class Program
    {
        internal static void Main(string[] args)
        {
            MyMethod();

            Console.WriteLine("[Finished]");
            Console.ReadKey();
        }

        private static void MyMethod()
        {
            RecurringJob.AddOrUpdate(() => Console.Write("Easy!"), Cron.Minutely);
        }
    }
}

但它在运行时抛出异常:

附加信息:JobStorage.Current 属性值尚未 已初始化。使用Hangfire客户端或服务器之前必须设置它 API。

所以我需要一个作业存储来运行它。但是所有示例都在 SQL 存储等中。有什么方法可以使用某种内存存储来运行这个示例吗?

JobStorage.Current = new SqlServerStorage("ConnectionStringName", options);  
// to  
JobStorage.Current = new MemoryDbStorage(string.Empty, options);  

您可以使用Hangfire.MemoryStorage https://github.com/perrich/Hangfire.MemoryStorage为了这。

只需添加这个 nuget 包 https://www.nuget.org/packages/Hangfire.MemoryStorage/.

然后你可以像这样使用它 -

GlobalConfiguration.Configuration.UseMemoryStorage();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hangfire 有内存作业存储包吗? 的相关文章

随机推荐