asp.net 定时执行任务

吃水的鱼 发布于 2016/05/01 20:53
阅读 685
收藏 0

最近在写一个竞拍网站,就是说,卖家上传了自己的二手商品信息,进行拍卖。然后在指定的期限内,与报价最高的人进行交易,现在是要做在卖家上传了二手信息的的时候,系统开始等待,知道期限的时间,就开始处理数据。结果我想尝试用Timer来做,自己写一个TimeTask类,每有一个卖家上传了一个二手商品信息的时候,就建立一个TimeTask类的对象,指定其到达期限时运行的函数,并添加到TimeTask类的静态列表中。在函数中会进行数据库的操作,并把这个TimeTask停掉。这个运行函数是放在卖家上传二手信息的页面后台中的。不过现在看起来好像不得,那这样到底可以吗,还是说要写一个独立的客户端,运行在服务器上,进行定时作业

如果每上传一个二手商品信息,启动一条线程可以吗,启动这条线程直到期限到而结束。

加载中
1
tomczhen
tomczhen
使用线程记录状态一旦发生停机就会丢失,使用cmd的话精度不够高。可以考虑使用Redis的订阅实现定时任务事务化。
0
w
walen

一般不会在iis进程里跑timer, 对性能有影响, 而且iis本来就是多线程, 不好控制.

价高者得,时间点限制, 建议用cmd程序运行task.

吃水的鱼
那就是相当于和原来网站分离开来的,只是用于处理数据的在服务器上运行的一个小模块咯。 直接用WPF做一个在后台一直运行的,每分钟到数据库查一下有没有新的条目信息,如果有的话,建立一条线程,线程每秒钟查看一下当前的时间,和此线程负责的商品信息对比。 这样可以吗
0
幻视Vision
幻视Vision
查查看SQL server的触发器能做吗?
吃水的鱼
看了, 不过要进行的操作比较复杂。
0
liguobao
liguobao

如果确定要定时任务的话,IIS上可选的不多,有一个WebBackgrounder不知道适不适合你。

http://edi.wang/Post/2014/7/18/how-to-run-schedule-jobs-in-aspnet

楼上的CMD其实就是Windows服务之类的原理,看你怎么做吧。

吃水的鱼
嗯呐,看过了,这个方法确实不错,不过还是先做一个windows服务来实现吧
返回顶部
顶部