首页 > 其他分享 >Hangfire定时任务

Hangfire定时任务

时间:2023-08-13 22:22:25浏览次数:26  
标签:Hangfire builder HangFire 任务 仪表盘 new 定时 true

 

Hangfire定时任务

一、  HangFire

1.  HangFire官方网址:

2.  HangFire 中文文档:

二、  下载NuGut包

 

1.  Hangfire是基础的包

2.  Hangfire.HttpJob 是仪表盘任务

三、  连接数据库

1.  CREATE DATABASE HangFireText  数据库创建数据表

2.  "ConnectionStrings": { "HangFire": "server=LAPTOP-TBKRP9BV;uid=sa;pwd=123456;database=HangFireText;TrustServerCertificate=True" }

配置连接数据库

生成的表

 

四、  配置HangFire

1. 

            var Config = builder.Configuration;

 

            builder.Services.AddHangfire(config => config

                .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)

                .UseSimpleAssemblyNameTypeSerializer()

                .UseRecommendedSerializerSettings()

                .UseStorage(new SqlServerStorage(

                    Config["ConnectionStrings:HangFire"],

                    new SqlServerStorageOptions

                    {

                        CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),    //命令批处理最大超时

                        SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),//滑动隐形超时

                        QueuePollInterval = TimeSpan.FromSeconds(15),        //队列轮询间隔

                        UseRecommendedIsolationLevel = true,                 //使用推荐隔离级别

                        UsePageLocksOnDequeue = true,                        //使用页面锁定取消排队

                        DisableGlobalLocks = true,                           //禁用全局锁

                    })).UseHangfireHttpJob());

2.  builder.Services.AddHangfireServer();

3.  创建仪表盘登录验证

app.UseHangfireDashboard("/Hangfire", new DashboardOptions

{

    Authorization = new[] {new BasicAuthAuthorizationFilter(new BasicAuthAuthorizationFilterOptions

    {

        RequireSsl =false,

        SslRedirect =false,

        LoginCaseSensitive = true,

        Users = new[]

        {

            //授权登录

            new BasicAuthAuthorizationUser

            {

                Login ="admin",

                PasswordClear = "123456",

            }

        }

    })}

});

 

app.UseRouting();

五、  仪表盘使用

1.启动swagger并复制路径

2.  更改后缀

 

 

3.  仪表盘页面

4. 

仪表盘核心功能,可以添加作业,周期性运行作业

通过cron表达式来给每一个作业添加周期

cron表达式网址 

六、  定时执行日志功能

1.  在项目中引用nlog日志

builder.Host.UseNLog();

2.  控制器中创建方法

3.  仪表盘新增日志任务

 

4.  运行日志方法

5.  查看运行效果

 

 

 

标签:Hangfire,builder,HangFire,任务,仪表盘,new,定时,true
From: https://www.cnblogs.com/qibaidao/p/17627407.html

相关文章

  • 定时任务查询通道狂暴超时,原因竟然是取数据不当----清扫100年前纽约街头马粪的不是清
    本文首发于我的公众号[发现问题就解决,是低效的方式,得探究根源]、【100年前的纽约街头,市民以马车为出行工具,问题来了】 我们支付系统有个定时任务,就是将系统里所有付款中的交易,调用第三方银行查单接口,然后持久化更新付款状态。 许多同学都做过类似的定时调度程序吧。 近......
  • 微信机器人定时发送脚本
    前言公司各域都有值班制度,安排人处理线上问题值班排期,工作日一人,周六周日两人(本周和下周的人)例如:本周z值班,下周s值班,下下周x值班,本周六周日z和s值班,下周六周日s和x值班因为我们值班表是发送到企业微信的群里的,就考虑建个机器人然后写一个脚本来定时发送值班安排思路:获取......
  • 多任务版TCP服务端程序开发
    分析当客户端和服务端建立连接成功,创建子线程,使用子线程专门处理客户端的请求,防止主线程阻塞 示例服务端1importsocket2importthreading345#处理客户端函数6defhandle_client(conn_socket,ip_port):7try:8whileTrue:9......
  • Spark提交程序到Yarn任务状态一直为Accepted
    正在学习《Spark快速大数据分析》第七章-在集群上运行Spark,写了一个单词数量统计的Spark程序提及到Yarn,但是状态一直是Accepted,等待运行。1、排查了Yarn资源调度器配置,配置的是公平配置,确认无问题<property> <name>yarn.scheduler.fair.allocation.file</name> <value>/opt/ha......
  • .NET后台任务-Worker services in .NET
    来自你的消息:怎么理解Workerservicesin.NET?来自ChatAI的消息:WorkerServices是.NETCore中的一个特性,它使开发人员能够轻松创建和托管长时间运行的后台任务或服务。WorkerServices使用.NETCore的异步编程模型和可扩展性,可以在不同的环境中运行,如Windows服务、Linux守......
  • python3 定时处理任务的问题?
    作者:27RRRR链接:https://www.zhihu.com/question/30944800/answer/2317117095来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。如果你想在Linux服务器上周期性地执行某个Python脚本,最出名的选择应该是Crontab脚本,但是Crontab具有以下缺点:1.不......
  • zlmediakit源码学习(扩展支持定时抽帧)
    使用了很长时间的zlmediakit流媒体服务,一直对其精妙高效的设计实现十分好奇。最好的学习就是去二次开发实现一些小功能,同时摸索框架的代码结构在参考了zlmediakit的录像功能后,分析模仿它的源码结构,实现定时抽帧的功能。抽帧之后可以:1)进行算法分析;2)重新编码实现转码功能;3)算法分析......
  • Hangfire
     参考地址:https://www.cnblogs.com/xiyuanMore/p/15582976.htmlgit下载地址:https://github.com/procodeguide/ProCodeGuide.Samples.Hangfire1. 引用NuGet管理包hangfire,hangfire.aspnetcore2. 在启动时配置 Hangfireservices.AddHangfire(x => x.UseSqlServ......
  • 一文详解自然语言处理两大任务与代码实战:NLU与NLG
    自然语言处理(NLP)涵盖了从基础理论到实际应用的广泛领域,本文深入探讨了NLP的关键概念,包括词向量、文本预处理、自然语言理解与生成、统计与规则驱动方法等,为读者提供了全面而深入的视角。作者TechLead,拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦......
  • CompletableFuture多任务组合回调
     1、AND组合关系thenCombine / thenAcceptBoth / runAfterBoth都表示:「当任务一和任务二都完成再执行任务三」。区别在于:「runAfterBoth」 不会把执行结果当做方法入参,且没有返回值「thenAcceptBoth」:会将两个任务的执行结果作为方法入参,传递到指定方法中,且无......