首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hangfire:延迟调用方法不起作用

Hangfire:延迟调用方法不起作用
EN

Stack Overflow用户
提问于 2020-07-22 08:52:44
回答 2查看 1.9K关注 0票数 3

我有一个ASP.NET核心应用程序,并且想要使用Hangfire来执行一些后台任务。我按照官方文件中的描述设置了Hangfire,我可以称之为通常的背景任务。但是,我在延迟调用这些方法时遇到了问题。

代码语言:javascript
复制
public void Configure(/*other params*/ IBackgroundJobClient backgroundJobsClient)
{
   //Other code
   
   backgroundJobsClient.Enqueue(() => Console.WriteLine("Method"));
   backgroundJobsClient.Schedule(() => Console.WriteLine("Delayed Method"), TimeSpan.FromSeconds(2));
}

我在控制台中只有“方法”输出。

在等待了一分钟之后,我的控制台中有一个异常:

由于异常,Hangfire.PostgreSql.PostgreSqlDistributedLockException:执行DelayedJobScheduler现在处于失败状态,重试次数将不会超过00:00:04,Hangfire.Processing.BackgroundExecution无法对资源‘HangFire:DelayedJobScheduler:schedulepoller’:锁定超时进行锁定。在Hangfire.PostgreSql.PostgreSqlDistributedLock.PostgreSqlDistributedLock_Init_Transaction(String资源,在Hangfire.PostgreSql.PostgreSqlDistributedLock..ctor(String资源的TimeSpan超时值,IDbConnection连接,PostgreSqlStorageOptions选项),TimeSpan超时,IDbConnection连接,PostgreSqlStorageOptions选项)在Hangfire.PostgreSql.PostgreSqlConnection.AcquireDistributedLock(String资源,TimeSpan超时值( Hangfire.Server.DelayedJobScheduler.UseConnectionDistributedLockT at Hangfire.Server.DelayedJobScheduler.EnqueueNextScheduledJobs(BackgroundProcessContext上下文)在Hangfire.Server.DelayedJobScheduler.Execute(BackgroundProcessContext上下文)( Hangfire.Server.BackgroundProcessDispatcherBuilder.ExecuteProcess(Guid executionId,Object state)在Hangfire.Processing.BackgroundExecution.Run(Action`2回调,Object state)!无法锁定资源‘HangFire: lock :schedulepoller’:锁定超时。

因此,我想延迟的方法初始化有一些问题。有人能帮我吗?可能我没有为ASP.NET核心正确地设置Hangfire。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-22 16:03:28

我终于找到了解决办法。日期以UTC格式存储在Hangfire数据库中。我不知道,官方的文档也没有对此发表任何意见。正确的代码应该如下所示:

代码语言:javascript
复制
DateTime.UtcNow.AddSeconds(2);
票数 2
EN

Stack Overflow用户

发布于 2021-12-20 07:27:04

我解决了这个问题如下。

Hangfire table中有lock table。我删除了锁表中的所有数据,我的问题解决了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63030430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档