asp.net core webapi如何执行周期性任务

使用Api执行周期性任务

  • 第一种,无图形化界面
    • 1.新建类,继承IJob,在实现的方法种书写需要周期性执行的事件。
    • 2.编写方法类,定义事件执行方式
    • 3.在启动方法中,进行设置,.net 6中在program.cs的Main方法中(可以在启动类中进行启动)
    • 4.考虑到IIS服务器的回收机制,需要设置一下IIS回收

第一种,无图形化界面

新建asp.net core webapi项目,使用Nuget搜索安装Quartz包。

1.新建类,继承IJob,在实现的方法种书写需要周期性执行的事件。

public class TimerWorker : IJob{public async Task Execute(IJobExecutionContext context){//定时任务TLog.WriteLog("事件执行!");}}

2.编写方法类,定义事件执行方式

public class SpecialWork{public static async void Work(){//调度器工厂ISchedulerFactory Work = new StdSchedulerFactory();//调度器IScheduler schedulers_work = await Work.GetScheduler();await schedulers_work.GetJobGroupNames();/*-------------计划任务代码实现------------------*///创建任务IJobDetail job_Work = JobBuilder.Create<TimerWorker>().WithIdentity("TimeTriggerddd", "TimeGroupdd").Build();//创建触发器 2点一分时被执行//时间字符串的解释//定时执行ITrigger trigger9 = TriggerBuilder.Create().WithCronSchedule("0 01 02 * * ?").WithIdentity("TimeTriggerddd", "TimeGroupdd").Build();//每隔多久执行一次  这个是每隔多久执行一遍  多少秒//ITrigger trigger9 = TriggerBuilder.Create().WithIdentity("TimeTriggerddd", "TimeGroupdd").WithSimpleSchedule(t => t.WithIntervalInSeconds(5).RepeatForever()).Build();     //5=5秒//添加任务及触发器至调度器中await schedulers_work.ScheduleJob(job_Work, trigger9);/*-------------计划任务代码实现------------------*///启动await schedulers_work.Start();}}

注意:定时执行时间格式,参考连接:https://www.cnblogs.com/wudequn/p/8506938.html
在这里插入图片描述

3.在启动方法中,进行设置,.net 6中在program.cs的Main方法中(可以在启动类中进行启动)

SpecialWork.Work();

4.考虑到IIS服务器的回收机制,需要设置一下IIS回收

在IIS中找到这个站点所用的程序池,点击“高级设置…” 在打开的列表中更改以下设置:
回收——固定时间间隔(分钟) 改为 0
——虚拟/专用内存限制(KB) 改为 0
进程模型——闲置超时(分钟) 改为 0
这样子,一般情况下程序池就不会被自动回收了,后台一些简单的计算线程就会正常工作
在这里插入图片描述
在这里插入图片描述
除图中标识的内容之外,闲置超时也要设为0
在这里插入图片描述

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

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

相关文章

Unity C# 之 Http 获取网页的 html 数据,并去掉 html 格式等相关信息

Unity C# 之 Http 获取网页的 html 数据&#xff0c;并去掉 html 格式等相关信息 目录 Unity C# 之 Http 获取网页的 html 数据&#xff0c;并去掉 html 格式等相关信息 一、简单介绍 二、实现原理 三、注意事项 四、效果预览 五、关键代码 一、简单介绍 Unity中的一些知…

(JavaScript笔记摘要)一次性搞定原型和原型链

一、前言 学完JavaScript ES5基础语法&#xff08;核心语法&#xff09;后&#xff0c;发现根本不够用&#xff0c;于是选择继续精进JavaScript功底 学到原型和原型链时&#xff0c;发现有点卡壳儿&#xff0c;于是投入了一定精力&#xff0c;进行了汇总整理和吸收&#xff0c…

阿里云服务器部署Drupal网站教程基于CentOS系统

阿里云百科分享如何在CentOS 7操作系统的ECS实例上搭建Drupal电子商务网站。Drupal是使用PHP语言编写的开源内容管理框架&#xff08;CMF&#xff09;&#xff0c;它由内容管理系统&#xff08;CMS&#xff09;和PHP开发框架&#xff08;Framework&#xff09;共同构成。它用于…

gitee上传一个本地项目到一个空仓库

gitee上传一个本地项目到一个空仓库 引入 比如&#xff0c;你现在本地下载了一个半成品的框架&#xff0c;现在想要把这个本地项目放到gitee的仓库上&#xff0c;这时就需要我们来做到把这个本地项目上传到gitee上了。 具体步骤 1. 登录码云 地址&#xff1a;https://gite…

【vue】简洁优雅的火花线、趋势线

来由 在github发现个好看易用的vue趋势线组件&#xff0c;特此记录。 效果 趋势图生成后效果如上&#xff0c;线条为渐变色&#xff0c;可设置是否平滑。具体线条走势&#xff0c;根据数据动态生成。 使用 安装 npm i vuetrend -S 引入 import Vue from "vue"…

【Linux命令详解 | chmod命令】 chmod命令用于修改文件或目录的权限,保护文件安全性。

文章目录 简介一&#xff0c;参数列表二&#xff0c;使用介绍1. 修改用户权限2. 修改用户组权限3. 修改其他用户权限4. 同时修改多个权限5. 使用数字模式设置权限6. 递归修改目录权限 总结 简介 在Ubuntu系统中&#xff0c;chmod命令是一个强大的工具&#xff0c;用于修改文件…

Maven安装Nexus私服

私服 视频教程&#xff1a; Maven保姆级教程 1 下载安装Nexus 官网https://www.sonatype.com/thanks/repo-oss 官网在国外&#xff0c;比较难打开&#xff0c;可以网上搜一下网盘分享。 nexus3.x是免安装的&#xff0c;解压到没有中文的路径下&#xff0c;解压后又两个文件夹…

Memory Analyzer(MAT)分析内存

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdi…

【Docker】Docker network之bridge、host、none、container以及自定义网络的详细讲解

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…

【ChatGLM】ChatGLM-6B模型Win+4GB显卡本地部署笔记

ChatGLM-6B是清华大学知识工程和数据挖掘小组发布的一个类似ChatGPT的开源对话机器人&#xff0c;由于该模型是经过约1T标识符的中英文训练&#xff0c;且大部分都是中文&#xff0c;因此十分适合国内使用。 预期环境 本机电脑备注&#xff1a; Win10专业版 32G内存256固态系统…

包管理工具 nvm npm nrm yarn cnpm npx pnpm详解

包管理工具 nvm npm yarn cnpm npx pnpm npm、cnpm、yarn、pnpm、npx、nvm的区别&#xff1a;https://blog.csdn.net/weixin_53791978/article/details/122533843 npm、cnpm、yarn、pnpm、npx、nvm的区别&#xff1a;https://blog.csdn.net/weixin_53791978/article/details/1…

在VMware平台安装centos8.4详细图文步骤

CentOS-8 的首个发行版本。CentOS Linux 发行版本是一个稳定、高预测性、高管理性、高重复性的平台&#xff0c;它源于 Red Hat 企业级 Linux(RHEL)的源代码。你可以检阅此发行版本的官方发布。 官方中文的发行说明&#xff1a;https://wiki.centos.org/action/show/zh/Manuals…