当前位置: 首页 > news >正文

设计必备网站域名状态查询工具

设计必备网站,域名状态查询工具,品牌推广方式有哪些,西安做网站的公司ASP.NET Core Web API Hangfire 前言一、安装二、相关代码1.代码片段2.代码片段3.运行效果 三、测试代码1.即发即弃作业2.延迟作业3.重复作业4.延续作业5.页面调度作业 前言 👨‍💻👨‍🌾📝记录学习成果,以…

ASP.NET Core Web API Hangfire

  • 前言
  • 一、安装
  • 二、相关代码
    • 1.代码片段
    • 2.代码片段
    • 3.运行效果
  • 三、测试代码
    • 1.即发即弃作业
    • 2.延迟作业
    • 3.重复作业
    • 4.延续作业
    • 5.页面调度作业


前言

👨‍💻👨‍🌾📝记录学习成果,以便温故而知新

Hangfire是一种定任务调度器
本文使用MySQL服务器
本文也参考了其他人文章的一些思路。


一、安装

NuGet安装

Hangfire.AspNetCore
Hangfire.MySqlStorage

由于选择的MySQL数据库,所以安装Hangfire.MySqlStorage。

二、相关代码

Program.cs中添加代码:

1.代码片段

builder.Services.AddHangfire(config =>
{config.SetDataCompatibilityLevel(CompatibilityLevel.Version_180).UseSimpleAssemblyNameTypeSerializer().UseRecommendedSerializerSettings();config.UseStorage(new MySqlStorage(@"server=127.0.0.1;user=root;password=root;database=hangfiredb;allowuservariables=True;",//必须允许用户自定义参数,不然面板不能使用new MySqlStorageOptions { TablesPrefix = "Hangfire" })).UseHangfireHttpJob();
});builder.Services.AddHangfireServer();
builder.Services.AddTransient<IBackgroundJobClient, BackgroundJobClient>();

MySQL数据连接:

@“server=127.0.0.1;user=root;password=root;database=hangfiredb;allowuservariables=True;”

如下:

.UseHangfireHttpJob()

实现的效果是可以在控制台添加任务调度。
前提是需要安装:

Hangfire.HttpJob

如下代码:

new MySqlStorageOptions { TablesPrefix = “Hangfire” }

是制定数据库中生成的表是以Hangfire开头,如下图:
在这里插入图片描述
在测试的时候没有处理好一个小细节,如果代码写成:

new MySqlStorageOptions { TablesPrefix = "Hangfire_" }

将会更好!!!

2.代码片段

app.UseHangfireDashboard();

3.运行效果

http://localhost:5279/hangfire/
在这里插入图片描述

三、测试代码

在项目新增控制器HangfireController及一个方法:

[HttpGet("Execute")]
public void Execute(string job)
{Debug.WriteLine(job);
}

在控制台=>作业=>完成 中查看执行效果。

1.即发即弃作业

[HttpGet("test1")]
public string Test1()
{string job = "即发即弃作业";BackgroundJob.Enqueue(() => Execute(job));return job;
}

测试效果:
在这里插入图片描述

2.延迟作业

[HttpGet("test2")]
public string Test2()
{string job = "延迟作业";BackgroundJob.Schedule(() => Execute(job), TimeSpan.FromMinutes(1));return job;
}

测试效果:
在这里插入图片描述

3.重复作业

[HttpGet("test3")]
public string Test3()
{string job = "重复作业";RecurringJob.AddOrUpdate(job, () => Execute(job), "0 * * * * ?", new RecurringJobOptions(){MisfireHandling = MisfireHandlingMode.Ignorable,TimeZone = TimeZoneInfo.Local,});return job;
}

在这里插入图片描述

4.延续作业

[HttpGet("test4")]
public string Test4()
{var jobId = BackgroundJob.Enqueue(() => Execute("延续作业1"));BackgroundJob.ContinueJobWith(jobId, () => Execute("延续作业2"));return "延续作业";
}

测试效果:
在这里插入图片描述
在这里插入图片描述

5.页面调度作业

[HttpGet("test5")]
public string Test5()
{Debug.WriteLine("页面调度作业:" + DateTime.Now.ToString());return "页面调度作业:" + DateTime.Now.ToString();
}

在这里插入图片描述
在这里插入图片描述
测试效果:
在这里插入图片描述
页面调度作业感觉像xxl-job,但是操作的便捷性上个人感觉略差一点意思。

http://www.ds6.com.cn/news/58492.html

相关文章:

  • 做高端网站的公司廊坊网站排名优化公司哪家好
  • 国外酷网站广州网站seo地址
  • 深圳做网站建设比较好的公司朝阳区seo
  • 手机网站如何做全国网站排名
  • 广州h5网站制作公司有没有免费推广平台
  • 医院信息化建设网站网络推广是诈骗吗
  • 苏州绿叶网站建设软件开发公司排行榜
  • 淘宝客做网站卖什么好国内免费域名
  • 微云影视自助建站系统淘宝店铺买卖交易平台
  • 游戏工作室怎么开百度笔记排名优化
  • 网站制作推广需要多少钱seo职位具体做什么
  • php做的网站优缺点seo优化的内容有哪些
  • 图片搜集网站怎么做办公软件培训
  • 商城网站的建设费用找客户资源的软件免费的
  • 网站册数网络宣传策划方案
  • flash网站模板 asp百度业务推广
  • 网站制作深圳优化设计答案大全
  • 怎么做网站大图片滚动如何自己制作网站
  • 制作企业网站的模板建站代理
  • 动态网站开发大赛国际新闻直播
  • 请专业做网站的老师最新国际消息
  • 微信小程序卖货长春最专业的seo公司
  • wordpress如何调用文章页到首页seo优化推广
  • 做视频网站应该选什么服务器网站快速优化排名官网
  • 深圳电子商城网站设计百度指数的特点
  • 做网站php语言用什么工具最近一周的时政热点新闻
  • 河池市城乡建设委员会网站百度宣传广告要多少钱
  • 东莞环保公司seo优化的网站
  • 网络公司名字怎么取搜索引擎seo是什么
  • qq网页版登录官网登录入口网站杭州网站seo价格