【发布时间】:2018-08-23 22:39:51
【问题描述】:
无论如何,请知道如何将循环后台作业设置为每 28 天运行一次。也就是说,该作业应基于 28 天而不是每月的 28 天运行。这是我目前的实现。
string CropExpression = "0 20 */28 * * ";
RecurringJob.AddOrUpdate(() => _chargesJob.ChargeCustomerAccountMonthly(account.Id),CropExpression);
当前的实现在每个月的 28 日运行该作业,这对我的应用来说并不理想。我想要实现的是应该根据当前日期时间计算 28 天。 例如,如果 Datetime.now =2018/3/15,则循环作业应从该日期开始计数,并持续到下个月,直到达到 28 天。
【问题讨论】:
-
.... 然后有一个计数器...一旦达到 28 它会重置.. 这样它就不会关心今天是什么日子了。
-
@Seabizkit 请给我看个样本
-
@user2943374 这个表达式有什么问题?该 cron 表达式表示
run every 28 days at 20:00。它应该已经按照您的要求进行。如果您想在 28 日运行,则应删除斜线,例如0 20 28 * * -
@user2943374 你怎么知道这个表达式不起作用?如果您在 2018 年 2 月开始这项工作,它将在 2018 年 3 月的同一天运行,因为 2 月有 28 天。您是否尝试过不同的间隔,例如每 1 分钟、1 小时或 1 天?