【问题标题】:Continuous Running Web Service持续运行的 Web 服务
【发布时间】:2016-02-16 15:48:23
【问题描述】:
我在一个普通的 ole ASP.Net/C# 网站上写了一个 Web Scraper。它工作得很好,完全符合我的需要,但有一个小问题。
我希望它每天运行两次。所有代码都已到位,但我无法找到让它每天运行两次(上午 10 点和晚上 10 点)的解决方案。
Web 服务是一种解决方案吗?您可以将它们设置为在预定时间运行吗?
有什么想法吗?
【问题讨论】:
标签:
c#
asp.net
web-services
web-scraping
【解决方案1】:
由于您的“应用程序”是 Web 应用程序而不是 Windows 可执行文件,您仍然可以使用 Windows 任务计划程序按计划打开您的网页。
将Action指定为“启动程序”并将程序/脚本指定为IE:“C:\Program Files\Internet Explorer\iexplore.exe”
输入您网页的 URL 作为参数,然后单击确定。
【解决方案3】:
在基于 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 指定第二个任务。
【解决方案4】:
如果您使用的是 Windows,请使用 Windows 任务计划程序来安排一天两次运行您的应用程序。