我在一个普通的Web Scraper
网站上写了ASP.Net/C#
。它工作得很好,完全符合我的要求,但有一个小问题。
我希望每天跑两次。所有的代码都已到位,但我无法找到一个解决方案,让它每天运行两次(上午10点和晚上10点)。
Web服务是解决方案吗?你能把它们设定为按预定时间运行吗?
有什么想法吗?
答案 0 :(得分:1)
在基于Linux的系统上,您通常使用 cronjob 。在基于Windows的系统上,您可以使用 scheduled task 。
以下是关于如何create a scheduled task的文档。
从命令行:
schtasks /Create [/S <system> [/U <username> [/P [<password>]]]] [/RU <username> [/RP <password>]] /SC <schedule> [/MO <modifier>] [/D <day>] [/M <months>] [/I <idletime>] /TN <taskname> /TR <taskrun> [/ST <starttime>] [/RI <interval>] [ {/ET <endtime> | /DU <duration>} [/K] [/XML <xmlfile>] [/V1]] [/SD <startdate>] [/ED <enddate>] [/IT] [/Z] [/F]
有关参数的更多详细信息,请参阅documentation。
因此,在您的示例中,您需要使用schtasks /Create /SC DAILY /TN "Your TaskName" /TR "Path and Executable to be run" /ST 10:00
指定第一个任务,使用schtasks /Create /SC DAILY /TN "Your TaskName" /TR "Path and Executable to be run" /ST 22:00
指定第二个任务。
答案 1 :(得分:1)
是的,你可以。 我在Asp.Net网站上为此目的使用了Nuget包(Quartz.Net Scheduler或FluentScheduler)。 两者都有很多可用于根据日/时/月等安排的选项。 唯一的问题是您需要确保AppPool不会定期回收,这是默认设置。
答案 2 :(得分:1)
由于你的应用程序&#34;是一个Web应用程序而不是Windows可执行文件,您仍然可以使用Windows任务计划程序按计划打开您的网页。
将操作指定为&#34;启动程序&#34;并将程序/脚本指定为IE:&#34; C:\ Program Files \ Internet Explorer \ iexplore.exe&#34;
输入网页的URL作为参数,然后单击“确定”。
答案 3 :(得分:0)
如果您使用的是Windows,请使用Windows任务计划程序安排每天运行两次应用程序。