定时执行某段程序
来源:互联网 发布:linux 解压gz文件脚本 编辑:程序博客网 时间:2024/06/06 03:32
我用控制台写了一个程序,用来在指定时间内 打印 “我执行了”
上面就是程序的运行结构,由于我设置了循环,所以输出了多次
代码如下:
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("我执行了!"); } } } }}
参考: 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是否以管理员运行, 如果是还不行,那就关闭杀毒软件应该就可以了
- 定时执行某段程序
- java 程序 定时执行某命令
- unix定时执行程序
- 让程序定时执行
- Linux定时执行程序
- C# 定时执行程序
- C#定时执行程序
- linux定时执行程序
- C#定时执行程序
- crontab定时执行程序
- Quartz定时执行程序
- 多线程执行定时程序
- Java定时重复执行程序
- Java定时重复执行程序
- Linux 定时执行程序 crontab
- C#定时执行某个程序
- C#如何定时执行程序
- C#定时执行某个程序
- 《聊聊架构》第一部分读书笔记
- Android动态加载ClassLoader
- Dialog(二)------列表Dialog
- mycat 之datanode datahost writehost readhost 区别
- method ID not in [0, 0xffff]: 65536” error解决办法
- 定时执行某段程序
- 前端效果——持续更新。。。
- 在linux kernel层调用用户层的方法
- 数字证书及CA的扫盲介绍
- Android字符串进阶之三:字体属性及测量(FontMetrics)
- 【转】js实现复制到剪贴板功能,兼容所有浏览器
- Spring Boot修改端口
- 点击弹出li所在的序列号
- Cache,MemCache,Application,Cookie等其它缓存汇总