首页 > 其他分享 >ABP之使用Hangfire

ABP之使用Hangfire

时间:2024-07-04 16:20:46浏览次数:22  
标签:Hangfire app hangfire ABP context 使用 config public

首先ABP自带Hangfire,所以我们今天使用Volo.Abp.BackgroundJobs.HangFire

1、在项目需要位置引入Nuget包(6.0.3)

image

2、再引入基于内容的存储库:Hangfire.MemoryStorage(1.7.0)

image

3、Hangfire.MemoryStorage不是abp封装的,所以可能会存在里面引用的Hangfire.Core 版本和Volo.Abp.BackgroundJobs.HangFire不一致的问题。只需要再引用Hangfire.Core,二者最高的版本即可。(1.7.29)

image

4、引入完之后,在项目的HttpApiHostModule.cs 文件中进行配置

image
引入依赖模块typeof(AbpBackgroundJobsHangfireModule)
image

5、ConfigureServices(ServiceConfigurationContext context)方法中进行配置

点击查看代码
context.Services.AddHangfire(config => {
    // config.UseStorage(new MySqlStorage("server=127.0.0.1;database=patent;uid=root;pwd=WWW.1633.com;charset=utf8mb4;Allow User Variables=true;"));
    config.UseMemoryStorage();
});

6、OnApplicationInitialization(ApplicationInitializationContext context)初始方法

点击查看代码
app.UseHangfireDashboard("/hangfire"); //启用hangfire面板
app.UseHangfireServer();

image

7、定义工作类

image

记得要注入依赖,这边注入一个ITransientDependency类型
image
我这边是自己定义了DBhelpder和Redis帮助类、也可以不定义、看个人写法吧

当然有个简单的小实现

点击查看代码
public class JobForDaiLiShiCase :  ITransientDependency
    {
        public ITongJiDaiLiShiCaseService _tongJiDaiLiShiCaseService { get; set; }

      
        public async Task Run()
        {
            Console.WriteLine(DateTime.Now.ToString("HH:mm:ss"));
           // await _tongJiDaiLiShiCaseService.TongJiAsync();
        }
    }

然后,我们同样在 项目的 .module.cs文件中去调用任务

点击查看代码
app.UseHangfireDashboard("/hangfire"); //启用hangfire面板
            app.UseHangfireServer();
           

           
            // 创建每1分钟调用一次的定时任务
            RecurringJob.AddOrUpdate<JobForDaiLiShiCase>(x => x.Run(), "0/2 * * * * ?");

标签:Hangfire,app,hangfire,ABP,context,使用,config,public
From: https://www.cnblogs.com/beiluoshimen/p/18284055

相关文章

  • EFCore 在APS.NET MVC中使用
    1.创建一个APS.NETMVC项目 2.安装Nuget包Microsoft.EntityFrameworkCore.DesignMicrosoft.EntityFrameworkCore.SqlServer3.在Models中添加Book实体类publicclassBook{///<summary>///id///</summary>publicintId{get;set;}///......
  • Winform中使用HttpClient实现调用http的post接口并设置传参content-type为application
    场景Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124157296上面使用HttpClient调用post接口时使用的HttpContent的格式为application/x-www-form-urlencoded对应的代码......
  • 没有使用Redis相关的代码或依赖,但在 `application.yaml` 配置文件中配置了Redis参数,项
    个人名片......
  • appium 使用
    referto: python+appium2~inspector工具使用及定位操作元素~_哔哩哔哩_bilibili1APPiumInspector可以查看Android应用的包名和activity打开APP,且处于启动页面 Q1noReset=True设置每次APP启动不重头初始化环境怎么实现呢 Q1那我们现在用的是appium1还是ap......
  • Linux下使用arping检测IP地址是否冲突
    arping简介在Linux中,arping是一个用来发送ARP请求到一个相邻主机的工具,通常用于检测网络上的IP地址冲突。使用arping检测IP地址是否冲突的方法例1:使用如下命令检测10.206.216.95是否冲突(使用-I参数指定网络接口)#arping-Ieth010.206.216.95ARPING10.206.216.95......
  • java使用Netty实现TCP收发消息的例子,多线程并且含断线自动重连
    需求:有一个TCP的服务,需要使用Netty开发一个TCP连接并收发消息的程序。要求多线程并且含断线自动重连能力。组织结构,使用JavaMaven编程方式功能还包含读取配置文件和log4j2写日志部分 完整代码:App.javapackagecom.LSpbxServer;importorg.slf4j.Logger;import......
  • Playwright for .NET使用
    安装全局工具:#安装全局工具dotnettoolinstall--globalMicrosoft.Playwright.CLI#创建项目dotnetnewconsole-nConsole1cdConsole1#安装依赖dotnetaddpackageMicrosoft.Playwright#用Playwright工具安装所需的浏览器C:\Users\Administrator\AppData\Lo......
  • 使用g++对c++进行编译链接
    静态库静态库的生成静态库实际就是多个.o的归档(文件夹)//在bash终端执行依次执行以下g++命令.g++-csrc1.cppsrc2.cpparcrvlibmy.asrc1.osrc2.o查看静态库内容://输出src1.0,src2.0,这也验证了静态库.a文件实际就是个归档目录ar-tlibmy.a......
  • 使用教程
    一、概述本产品能够实现两点之间的P2P直连内网穿透,不用通过中继服务器提供流量中转服务。本产品采用了最先进的P2P算法,即便对称型NAT在内的大多数连接也可实现P2P通讯。因为在数据传无需中继服务器作为中转,具有强劲的传输速度和安全性。数据在传输过程中采用各类加密传输......
  • 怎么使用零代码平台,在线搭建一套应用系统 — 敲敲云免费
    应用基础操作:包含创建应用、修改应用、退出/删除应用、排序应用、维护应用、应用回收站1、新建应用进入你的组织,点击左侧的应用,然后点击新建应用新建应用的创建者为应用的拥有者,默认拥有管理员权限2、修改应用名称和主题应用中点击...,找到修改名称和主题,点击即可,支持......