C#---使用Coravel实现定时任务

Coravel是一款框架轻,使用简单,支持秒级定时任务。

1.添加NuGet引用

2.定义自己的工作任务

using Coravel.Invocable;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;namespace CoravelDemo
{public class MyCoravelJob1 : IInvocable{private readonly ILogger _logger;public MyCoravelJob1(ILogger<MyCoravelJob1> logger){_logger = logger;}public async Task Invoke(){_logger.LogInformation($"Coravel执行了一次{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");}}
}

3.在Startup.cs中注册与配置自己的工作任务

using Coravel;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;namespace CoravelDemo
{public class Startup{// This method gets called by the runtime. Use this method to add services to the container.// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940public void ConfigureServices(IServiceCollection services){//只使用Coravel的任务调度功能services.AddScheduler();//注册自己的调度任务services.AddTransient<MyCoravelJob1>();}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}//配置任务var provider = app.ApplicationServices;provider.UseScheduler(scheduler =>{scheduler.Schedule<MyCoravelJob1>()//工作日每隔10秒输出.EverySeconds(10);//只在工作日//.Weekday();});app.UseRouting();app.UseEndpoints(endpoints =>{endpoints.MapGet("/", async context =>{await context.Response.WriteAsync("Hello World!");});});}}
}

执行结果:

Coravel的主要方法:

EverySecond()每秒运行一次任务
EveryFiveSeconds()每五秒运行一次任务
EveryTenSeconds()每十秒运行一次任务
EveryFifteenSeconds()每十五秒运行一次任务
EveryThirtySeconds()每三十秒运行一次任务
EverySeconds(3)每 3 秒运行一次任务。
EveryMinute()每分钟运行一次任务
EveryFiveMinutes()每五分钟运行一次任务
EveryTenMinutes()每十分钟运行一次任务
EveryFifteenMinutes()每十五分钟运行一次任务
EveryThirtyMinutes()每三十分钟运行一次任务
Hourly()每小时运行一次任务
HourlyAt(12)在每小时过去 12 分钟运行任务
Daily()每天午夜运行一次任务
DailyAtHour(13)每天下午 1 点 UTC 运行一次任务
DailyAt(13, 30)每天下午 1:30 UTC 运行一次任务
Weekly()每周运行一次任务
Cron("* * * * *")使用 Cron 表达式运行任务

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/661159.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容&#xff08;如果后续在实践中发现前五章不够&#xff0c;会补上剩余内容&#xff09; 引入 什么是图&#xff1f; 如上图所示的路线图和电路图都可以使用…

Linux操作系统·进程管理

一、什么是进程 1.作业和进程的概念 Linux是一个多用户多任务的操作系统。多用户是指多个用户可以在同一时间使用计算机系统&#xff1b;多任务是指Linux可以同时执行几个任务&#xff0c;它可以在还未执行完一个任务时又执行另一项任务。为了完成这些任务&#xff0c;系统上…

RTMP 直播推流 Demo(一)—— 项目配置与视频预览

音视频编解码系列目录&#xff1a; Android 音视频基础知识 Android 音视频播放器 Demo&#xff08;一&#xff09;—— 视频解码与渲染 Android 音视频播放器 Demo&#xff08;二&#xff09;—— 音频解码与音视频同步 RTMP 直播推流 Demo&#xff08;一&#xff09;—— 项目…

es环境安装及php对接使用

Elasticsearch Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它提供了一个分布式多用户能力的全文搜索引擎&#xff0c;基于RESTful web接口。Elasticsearch是用Java语言开发的&#xff0c;并作为Apache许可条款下的开放源码发布&#xff0c;是一种流行的…

Notes for the missing semester. Useful and basic knowledge about Linux.

The Shell Contents The first course is to introduce some simple commands. I’ll list some commands that I’m not familiar with: # --silent means dont give log info, # --head means we only want the http head. curl --head --silent bing.com.cn# cut --deli…

上位机开发PyQt(五)【Qt Designer】

PyQt5提供了一个可视化图形工具Qt Designer&#xff0c;文件名为designer.exe。如果在电脑上找不到&#xff0c;可以用如下命令进行安装&#xff1a; pip install PyQt5-tools 安装完毕后&#xff0c;可在如下目录找到此工具软件&#xff1a; %LOCALAPPDATA%\Programs\Python\…

nginx下载安装配置(含ssl)

下载安装环节 wget https://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf xxx.tar.gz yum -y install pcre-devel openssl openssl-devel ./configure --prefix/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream make & make i…

【T1】T1飞跃专业版,点击财务报表没有任何反应。

【问题描述】 在T1飞跃专业版软件中&#xff0c; 点击标准财务–财务报表–资产负债表&#xff0c;没有任何反应。 【解决方法】 退出客户端后&#xff0c;打开客户端所在目录&#xff0c; 找到【UjRegSys.bat】文件&#xff0c;双击运行&#xff08;管理员身份&#xff09;后…

【HMGD】使用CubeMx配置GD32F303系列单片机进行DMA ADC

原理图查看 查原理图可以看到GD32F103C8T6的官方开发板GD32303C-START-V1.0的PA1没有接任何东西 使用PA1作为ADC端口 CubeMX配置ADC和时钟 配置ADC通道 启用循环模式 配置此通道ADC分频 配置ADC DMA为循环模式 配置时钟 可根据手册配置最大HZ GD32F303最高频率设定 生成…

Oracle系统参数调整【数据库实例优化系列一】

Oracle实例是:内存组件和相关的后台进程组成。这些内存组件提高了数据库的运行,而后台进程负责管理系统和内存组件。 一、SGA和实例优化 Oracle的SGA是指的系统全局区。sga是数据库运行期间使用的一段公有内存,即数据库用户都可以访问这段内存,包括: 共享池、重做日志缓冲…

第2节:UIOTOS前端零代码应用 蓝图连线 信号值变化小示例02

目标 通过连线&#xff0c;实现信号值随机变化。 最终效果 实现过程 步骤1&#xff1a;接11节&#xff0c;选中底板设置其背景颜色 步骤2&#xff1a;拖入普通按钮V2组件&#xff0c;设置“text”值为“1”&#xff0c;并做form绑定 步骤3&#xff1a;选中按钮对输入框进行交…

宠物领养|基于SprinBoot+vue的宠物领养管理系统(源码+数据库+文档)

宠物领养目录 基于Spring Boot的宠物领养系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1前台 1.1 宠物领养 1.2 宠物认领 1.3 教学视频 2后台 2.1宠物领养管理 2.2 宠物领养审核管理 2.3 宠物认领管理 2.4 宠物认领审核管理 2.5 教学视频管理 四、…