我觉得你应该把帖子发到SQL Server区,请教版主黄钊吉
解决方案 »
- 求一个开源的能根据框架生成解决方案的代码生成器源代码
- 字符串转日期
- 对你一定很简单,验证码 session问题
- 集合已修改;可能无法执行枚举操作怎么解决啊
- ultraWebTree的问题
- 请教用什么方式做缓存?Cache or Application ?
- 很多地方都引用了static 方法,从理论上讲:这个static 方法会不会成为瓶颈呢?
- 寻求大家面试asp.net的试题,学习
- 我对OO系统设计方法一无所知,通过学习UML可以学习OO吗?
- 使用asp.net web api 框架时遇到“已取消该操作”的异常,如何屏蔽这样的错误呢
- 关于json
- office2013 的有对应的owc11组件吗?
接下来我要研究的就是sqlserver里面的时间算法咯
毕竟12个月的每个月天数都不一样呢
.NET技术分已经超过我了
简单的办法就是在C#算出时间再传回去. 遇到30直接AddMonths(1)
或者用现成的:Quartz.NET
晚上回去就研究~ps:这个头像怎么会动的? 我也试过gif的,可是不会动呀
不想再去设置WindowsTask或者是sqlserver代理作业~
都没用过,都需要去研究~
晚上回去就研究~ps:这个头像怎么会动的? 我也试过gif的,可是不会动呀
第一步 定义好任务类型:
单次执行 type=1
每周执行 type=2
每月执行 type=3
每种类型 都要有个时间点,告诉程序什么时候发布.第二步 查询当天需要执行的任务:
每天 0 点的时候 根据这三种任务找出当天需要执行的任务
若当天有新任务发布,则重新查找一次.第三步 循环任务列表发布任务:
然后就是弄个循环 可以是每1分钟一次或者每5分钟一次
看是否达到发布任务的时间
这里需要注意的是执行周期要尽可能的小,至少小于客户允许的运行周期的一半。另:加入用户新增任务比较频繁,随着时间推移任务表记录会比较大,你可以考虑将任务表拆分成两个。第一个表存放尚未完成任务记录;第二个表存放已完成任务记录
比如当天有1000个任务要发布,你每一分钟 执行一次
for int i=0;i<1000;i++
这个有什么压力呢至于第二个问题 你不需要去确认 每周和每月这样任务类型的下一个执行时间,
因为你在定制任务的时候 肯定要有个字段 来存的 比如每周的 为 星期三 星期五 这样
每月的 就存 5号 10号 这样的你在查询当天需要发布的任务的时候 是需要根据任务类型 分开执行sql的
你要对单次, 每周, 每月 三种类型 分别动态创建 当天的三个sql语句 ,这个语句 也不是很复杂,就是根据当天
计算出 是当月的第几天 ,本周的星期几 然后拼接一下sql就出来了
quartz中的调度器、任务和触发器可以处理你提到的那些东西。