.net 定时任务一段时间无法执行

qq_32585957 2017-03-09 10:22:43
在网上看到解决iis定时任务执行的方法是

可是实际部署到服务器之后,iis资源回收与重新调起的时间间隔过大。如下,请问问题可能出现在什么地方,谢谢
应用程序调起:2017-3-7 15:43:58
------------2017-3-7 15:43:58---------------

应用资源回收:2017-3-7 16:04:48
------------2017-3-7 16:04:48---------------

应用程序调起:2017-3-7 18:23:29
------------2017-3-7 18:23:29---------------

应用资源回收:2017-3-7 18:45:28
------------2017-3-7 18:45:28---------------

应用程序调起:2017-3-7 19:12:54
------------2017-3-7 19:12:54---------------
...全文
959 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
gwj520319 2020-12-10
  • 打赏
  • 举报
回复
另外注意下IIS默认回收资源是20分钟,修改下IIS应用程序池回收设置 1740分钟(29小时)保证一天有一个访问量定时任务就会一直执行
gwj520319 2020-12-10
  • 打赏
  • 举报
回复
.net core 还是 .net 参考 Quartz来实现。
正怒月神 2017-03-09
  • 打赏
  • 举报
回复
定时任务,搞window 服务啊。
Poopaye 2017-03-09
  • 打赏
  • 举报
回复
引用 12 楼 qq_32585957 的回复:
[quote=引用 11 楼 shingoscar 的回复:] [quote=引用 9 楼 qq_32585957 的回复:] 不好意思,可能我们说的不是一个东西,我指的是.net 后台定时任务,跑在iis上的例如Timer
不要下这样的结论,是你不会用[/quote] 你说得对,定时任务这块不太熟,刚接触。[/quote] 把你要执行的代码单独写个程序,让计划任务去定时运行 如果你连程序也懒得写,那做成页面也行,去下个curl或者wget,定时去访问这个页面也能达到同样的效果
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 11 楼 shingoscar 的回复:
[quote=引用 9 楼 qq_32585957 的回复:] 不好意思,可能我们说的不是一个东西,我指的是.net 后台定时任务,跑在iis上的例如Timer
不要下这样的结论,是你不会用[/quote] 你说得对,定时任务这块不太熟,刚接触。
Poopaye 2017-03-09
  • 打赏
  • 举报
回复
引用 9 楼 qq_32585957 的回复:
不好意思,可能我们说的不是一个东西,我指的是.net 后台定时任务,跑在iis上的例如Timer
不要下这样的结论,是你不会用
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 6 楼 qq_25095899 的回复:
写个windows 服务即可
您的方法是可以,但是客户的服务器不允许我们使用win服务搞事情,只能从iis与程序入手
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 7 楼 shingoscar 的回复:
[quote=引用 5 楼 qq_32585957 的回复:] [quote=引用 1 楼 shingoscar 的回复:] 定时任务用这个,不知道你从哪找来这么智障的做法……
不好意思 可能我描述不太准确,定时任务是在.net 后台执行,定时发送消息。您这个定时任务我在vs中没找到,能明确说一下么[/quote] 现在的人啊……开始菜单输入taskschd.msc,windows从出生开始就有这东西了,什么定是更新、启动后运行都靠它。甚至流氓软件都会用。[/quote] 不好意思,可能我们说的不是一个东西,我指的是.net 后台定时任务,跑在iis上的例如Timer
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 3 楼 bwangel 的回复:
我想,你在网上抄的代码是用来防止IIS进程回收,导致内部的一个定时任务终止。而不是使用这个回收机制来触发定时任务。如果是这样的话,如果网站访问频繁,可能一天也回收不了一次,怎么保证定时任务启动? 你可能理解有误。 所以在进程回收时,它自己访问一下自己,导致回收时又强制重新启动了进程。 如果你一定要用IIS的话,建议在IIS中设置网站相关的应用程序池完全不回收,用于跑你后台某个定时任务。 I
不好意思,我可能描述不太准确,原本定时任务写在Application_Start中开启,因为iis回收机制导致我的定时任务无法执行,网上说在回收的时候重新请求一次本地网站,定时任务就会继续执行。目前状况是iis回收后,本地网站被调起的时间间隔过长,正好错过了定时任务的触发时间。 是否有什么办法在iis回收的同时立马调起网站,保证回收与调起时间间隔在几秒之内。
Poopaye 2017-03-09
  • 打赏
  • 举报
回复
引用 5 楼 qq_32585957 的回复:
[quote=引用 1 楼 shingoscar 的回复:] 定时任务用这个,不知道你从哪找来这么智障的做法……
不好意思 可能我描述不太准确,定时任务是在.net 后台执行,定时发送消息。您这个定时任务我在vs中没找到,能明确说一下么[/quote] 现在的人啊……开始菜单输入taskschd.msc,windows从出生开始就有这东西了,什么定是更新、启动后运行都靠它。甚至流氓软件都会用。
大然然 2017-03-09
  • 打赏
  • 举报
回复
写个windows 服务即可
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 1 楼 shingoscar 的回复:
定时任务用这个,不知道你从哪找来这么智障的做法……
不好意思 可能我描述不太准确,定时任务是在.net 后台执行,定时发送消息。您这个定时任务我在vs中没找到,能明确说一下么
  • 打赏
  • 举报
回复
定时任务简单的可以做exe,然后windows定时计划任务执行 也可以直接用quartz,hangfire之类的框架做,你不会是用timer做吧?
bwangel 2017-03-09
  • 打赏
  • 举报
回复
我想,你在网上抄的代码是用来防止IIS进程回收,导致内部的一个定时任务终止。而不是使用这个回收机制来触发定时任务。如果是这样的话,如果网站访问频繁,可能一天也回收不了一次,怎么保证定时任务启动? 你可能理解有误。 所以在进程回收时,它自己访问一下自己,导致回收时又强制重新启动了进程。 如果你一定要用IIS的话,建议在IIS中设置网站相关的应用程序池完全不回收,用于跑你后台某个定时任务。 I
shoppo0505 2017-03-09
  • 打赏
  • 举报
回复
你这个是在application end的时候调用的,看清来情况正常啊。
Poopaye 2017-03-09
  • 打赏
  • 举报
回复

定时任务用这个,不知道你从哪找来这么智障的做法……
江南小鱼 2017-03-09
  • 打赏
  • 举报
回复
引用 18 楼 qq_32585957 的回复:
[quote=引用 16 楼 lovelj2012 的回复:] 用iis执行定时任务,也是醉了。
客户只允许开放一个iis端口部署.net 程序,若是不用 win服务和其他外部应用,您有什么好的定时任务方案么[/quote] 写个exe,然后用timer或者线程定时轮训,把这个exe丢在服务器上(7*24*365运行)。
qq_32585957 2017-03-09
  • 打赏
  • 举报
回复
引用 16 楼 lovelj2012 的回复:
用iis执行定时任务,也是醉了。
客户只允许开放一个iis端口部署.net 程序,若是不用 win服务和其他外部应用,您有什么好的定时任务方案么
江南小鱼 2017-03-09
  • 打赏
  • 举报
回复
windows service、操作系统的定时任务、sql server的计划等等,哪个不比iis定时执行好的多。
江南小鱼 2017-03-09
  • 打赏
  • 举报
回复
用iis执行定时任务,也是醉了。
加载更多回复(1)

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧