gpt4 book ai didi

c# - Hangfire 重复工作不会立即开始

转载 作者:行者123 更新时间:2023-11-30 22:54:06 24 4
gpt4 key购买 nike

我正在使用 cron 表达式来创建重复性作业。我正在创建表达式,每周 3 天每半小时执行一次。执行是正确的,但它开始的时间不正确。假设作业的创建发生在下午 2 : 16 pm,作业在 2 : 30 pm 开始执行。如果我配置为在 2:20 执行,作业也会在下午 2:30 开始,理想情况下我想在 2:20 开始并每半小时重复一次。目前我没有找到从 2 : 25 开始并每半小时重复一次的方法。

有人可以告诉我为什么在使用 cron 表达式时会发生这种情况吗?有没有办法识别这种模式,以便我可以调整我的执行时间。cron 表达式是“*/30 * * 1,2 1,2,3”

@cocowalla:我正在使用 sql server 作为后端。我完全按照 hangfire 文档中给出的方式复制连接字符串,但没有查看轮询。除此之外还有其他原因吗?

最佳答案

来自docs ,SQL 后端被轮询,因此开始时间的准确性可能会受到限制:

One of the main disadvantage of raw SQL Server job storage implementation – it uses the polling technique to fetch new jobs. Starting from Hangfire 1.7.0 it’s possible to use TimeSpan.Zero as a polling interval, when SlidingInvisibilityTimeout option is set.

{
SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
QueuePollInterval = TimeSpan.Zero
};

GlobalConfiguration.Configuration.UseSqlServerStorage("<name or connection string>", options);```

关于c# - Hangfire 重复工作不会立即开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56602009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com