我有许多客户,他们会不定时的提交一些任务。
例如:
A提交任务,希望在10:00得到执行,但A有可能在9:30时取消这个任务。
B提交任务,也希望在10:00得到执行。
C……
D……假如有2千到3千人要求在某些时间执行任务,那么服务器怎么处理,开一个定时器定时把任务列表读出来执行吗?假如我利用MS SQL SERVER的作业来做,上万个作业会不会让服务器很慢?
所有任务都由用户通过网站提交。

解决方案 »

  1.   

    假如有2千到3千人要求在某些时间执行任务,那么服务器怎么处理,开一个定时器定时把任务列表读出来执行吗?
    这是一种方案。假如我利用MS SQL SERVER的作业来做,上万个作业会不会让服务器很慢?
    肯定的,最好你自己先测试下每个作业需要耗费多少时间和CPU、内存的消耗以判断是否需要添加服务器硬件。最好多用存储过程提高效率。
      

  2.   

    http://blog.joycode.com/dotey/archive/2004/12/20/41438.aspx
      

  3.   

    谢谢wangsaokui,每个任务大概涉及3个表的纪录,总数不超过10条纪录,也不涉及图片等大字段。大家遇到这种情况,有其他的解决方案吗,请指点一下,谢谢!
      

  4.   

    http://blog.joycode.com/dotey/archive/2004/12/20/41438.aspx
      

  5.   

    可以考虑用线程来实现:
    让任务按时间排队,一个任务完成后视下一任务的时间来“sleep"
    这样主要是维护一个内存中的任务列表,不过大概稳定性方面要费点劲
      

  6.   

    最好选择服务器在闲时进行这些操作,用定时器是个不错的方法“上万个作业会不会让服务器很慢”那要看你是什么任务咯,一般来说,能做出这样的系统就不会有太大问题,用定时器在凌晨处理最好可在 Global.asax 添加时钟定义处理时间