我如何安排双周工作?

时间:2011-12-08 18:22:30

标签: date coldfusion scheduling

我的应用要求用户安排每日,每周,每月或每两周重复发生的重复活动。

每两周一次,我的意思是每两周(14天)从创建时提供的任意日期值开始。

我的jobs表格有两列支持此列:job_frequency_idjob_frequency_value。我能够安排所有类型,除了每两周一次。

第一个col是job_frequencies表的FK;它包含daily, weekly, monthy, bi-weekly个值。 job_frequency_value包含与频率对应的值。

例如:如果某个职位有job_frquency_id == 3job_frequency_value == 10,则该职位每月的第10天都会运行。

如何在不篡改数据库结构的情况下添加双周支持?我将使用job_frequency_value col来存储14天期限的开始日期,但我不确定未来的计算。

2 个答案:

答案 0 :(得分:2)

假设您的开始日期存储为名为“createdDate”的变量。

nextFortnight = DateAdd("ww", job_frequency_value*2, createdDate);

答案 1 :(得分:0)

您可以将计划任务包装在一起并将其设置为每周运行一次吗?

这样的东西

<cfif DateDiff('ww',CreateDate(2011,01,01),Today'sDate) MOD 2 EQ 1>

这样一来,如果周数很奇怪,你的预定任务就会完全运行,如果这是一个奇怪的一周,那么它会运行计划任务,但忽略你所有的代码。