定时执行某段程序

2023-12-09 17:48
文章标签 执行 定时 段程序

本文主要是介绍定时执行某段程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

有时候我们需要每天 定时的 自动 去执行某段程序,那么这个功能如何实现呢? 经过百度,定时器就可以实现,总结如下:

我用控制台写了一个程序,用来在指定时间内 打印 “我执行了”

上面就是程序的运行结构,由于我设置了循环,所以输出了多次

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static int n = 0;
public static string time = "14:41:0";//设置在每天下午2点26分执行
static void Main(string[] args)
{
//指定时间执行一段程序
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = true;
timer.Interval = 1000;//执行间隔时间,单位为毫秒   这里我设置的每隔1秒执行一次程序
            timer.Start();          
timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);
Console.ReadKey();
}
private static void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
DateTime dt = DateTime.Now;
string currentTime = string.Format("{0}:{1}:{2}", dt.Hour.ToString(), dt.Minute.ToString(), dt.Second.ToString());
Console.WriteLine(currentTime);
if (currentTime==time)//如果到了我们指定的时间,则提示“我执行了”
            {
for (int i = 0; i < 1000; i++)
{
Console.WriteLine("我执行了!");                   
}               
}         
}
}
}
View Code

参考: http://www.cnblogs.com/freeliver54/archive/2007/03/06/665625.html

我们想要的效果就这样简单的搞定了~~ 

由于Timer只有在浏览网页的时候他才会执行,但我们想要的是将网站部署到IIS后,无论浏览不浏览或者IIS重启,他都会自动执行。

这时我们可以通过Quartz.Net实现,并利用Topshelf创建windows服务达到永久运行的效果:

参考博文:

1.http://www.cnblogs.com/jys509/p/4628926.html Quartz.NET 入门

2.http://www.cnblogs.com/jys509/p/4614975.html 使用Topshelf创建Windows服务

3.http://blog.csdn.net/yansong_8686/article/details/46991189 Quartz 定时任务设置某个时间区间每隔一定时间触发的cron表达式时间配置

参考上面,自己写了个Demo:网盘链接:http://pan.baidu.com/s/1pLU6dq7 密码:bo8p  or https://github.com/shuai7boy/TestQuartz

一般Quartz都单独作为一个项目对其它项目进行调用。

需要注意的问题:

1.将上面博文中提到的 配置文件 一定要改为始终配置

2.直接 搬砖 的话,注意改下Demo的命名空间和 配置文件路径

3.安装window服务时,如果出现以下错误,那么 首先 看看CMD是否以管理员运行, 如果是还不行,那就关闭杀毒软件应该就可以了

 

这篇关于定时执行某段程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/474571

相关文章

MySQL中SQL的执行顺序详解

《MySQL中SQL的执行顺序详解》:本文主要介绍MySQL中SQL的执行顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql中SQL的执行顺序SQL执行顺序MySQL的执行顺序SELECT语句定义SELECT语句执行顺序总结MySQL中SQL的执行顺序

Django之定时任务django-crontab的实现

《Django之定时任务django-crontab的实现》Django可以使用第三方库如django-crontab来实现定时任务的调度,本文主要介绍了Django之定时任务django-cront... 目录crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务@符号

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用