计划计时器每月执行一次 - C#
Posted
技术标签:
【中文标题】计划计时器每月执行一次 - C#【英文标题】:Schedule timer to be executed once a month - C# 【发布时间】:2012-04-26 05:57:20 【问题描述】:我需要每月一次将一些数据从 SQL Server 传输到 mysql。我已经完成了这个转移的工作,但我不知道(而且我还没有在互联网上找到)如何设置一个计时器来执行这个转移每个月的特定日期。我不想只设置以毫秒为单位的计时器间隔,因为天数因一个月而异。
感谢任何帮助...
【问题讨论】:
:/ forum.lessthandot.com/viewtopic.php?f=17&t=11400 调度 sql server 作业 -- google 上的第一个结果 【参考方案1】:这听起来像是您应该将其设置为计划任务或 SQL 服务器作业,而不是通过计时器让进程运行一个月?
链接:
SQL Server job in 2008 Schedule windows task我想您也可以将任务设置为 Windows 服务,并通过数据库中的设置检查您上次进行更新的时间,但这似乎有点矫枉过正。听上去你已经有了一个可以完成这项工作的 C# 应用程序设置,所以我只做一个计划好的 Windows 任务。
【讨论】:
我不喜欢通过 SQL Server 工作来做,我会看看第 2 篇文章,我认为它可以解决我的问题。 我认为最适合您。 SQL Server 作业确实很棒,我们一直使用它们来完成各种任务,所以我鼓励大家熟悉它们。【参考方案2】:您可以使用 Windows 任务计划程序来完成此类工作。查看here 的命令行选项Schtasks
(有很多)
示例 1:
安排在每个月的第一天运行的任务
以下命令安排 MyApp 程序在第一个运行 每个月的一天。因为值 1 是两者的默认值 /mo(修饰符)参数和 /d(天)参数,这些参数 从命令中省略。
schtasks /create /tn "My App" /tr myapp.exe /sc monthly
示例 2:
安排第 15 天的任务
以下命令安排 MyApp 程序在 15 日运行 每个月的下午 3:00 (15:00)。它使用 /d 参数来指定 日期。它还使用 /st 参数来指定开始时间。
schtasks /create /tn "My App" /tr myapp.exe /sc monthly /d 15 /st 15:00
【讨论】:
这就是我需要的!您能否指定所有参数,就好像我想每 28 日(或任何一天)运行一次程序一样?仅用于测试目的...以上是关于计划计时器每月执行一次 - C#的主要内容,如果未能解决你的问题,请参考以下文章