问题标签 [hangfire-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何增加hangfire作业超时
我有一个运行hangfire 1.7.2 的.net 核心应用程序。
所以我有这个工作,它执行 SQL 存储过程,它是一个长时间运行的任务,可能需要 30 分钟。
这给了我以下错误:超时已过期。在操作完成之前超时时间已过或服务器没有响应。该语句已终止。
请帮帮我。
mysql - 如何使用 Mysql 存储配置 Hangfire
我有一个使用 ASP.NET CORE 开发的 Web 应用程序,我想向我的客户发送每周时事通讯。环顾四周后,我认为 Hangfire 会是我使用的好工具。不幸的是,我似乎无法使用 Mysql 数据库让它工作。它与 InMemboryStorage 完美配合。
下面是我的设置。
ASP.NET 核心 2.2
挂火 1.7.8
Hangfire.Mysql.Core 2.2.5
Hangfire 在数据库中创建了大约 9 个表,但是当我尝试创建后台作业时,。我收到一条错误消息,提示“hangfire_state 表不存在”。
下面是我在启动时的配置,以及错误的堆栈跟踪。如果您知道为什么会这样,请帮忙。
谢谢!
创建用于测试的后台作业的控制器操作
以下是错误;
堆栈跟踪
c# - Hangfire - .net 核心 web api - IIS 实施错误
当我尝试在 web 服务器 IIS 上发布 web api 时,我得到了一个错误的 hangfire 实现。(WServer 2012)当我在 IIS express 上的计算机主机上启动时,它在本地工作。它运行良好,我在仪表板上看到了我的工作。我在 Web 服务器 db 上使用相同的连接字符串,但它在 Web 服务器上不起作用。错误是这样的;
类别:Hangfire.Processing.BackgroundExecution EventId:0
由于异常,执行BackgroundServerProcess在00:00:30.0352717仍处于Failed状态,将在00:00:15内重试
异常:System.Data.SqlClient.SqlException (0x80131904):用户 'ABC SERVER' 登录失败。在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 标识,SqlConnectionString connectionOptions,SqlCredential 凭据,对象 providerInfo,字符串 newPassword,SecureString newSecurePassword,布尔重定向用户实例,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,布尔 applyTransientFaultHandling,字符串 accessToken)在 System.Data。 SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
在 ConfigureServices() 方法中;
在 Configure() 方法中;
相同的数据库连接,本地 pc 调试模式工作正常但在 Web 服务器上发布,我从 Web 服务器收到登录失败错误有什么区别?
有什么解决方案吗?感谢大家的支持。
hangfire - 为什么 Hangfire 不并行处理重复的工作?
我有 30 个经常性工作。每个工作都只是在控制台中写入它的 id,仅此而已。每个作业都被编程为每秒循环运行。
根据登录控制台,每个作业大约每 30 秒启动一次。为什么不是每一秒?当只配置一个作业时,它会按预期每秒运行一次。作业越多,运行之间的延迟就越长。是否可以将 Hangfire 配置为每秒运行多个作业?
Hangfire 在带有 SQL Server 后端的 ASP.NET Core 3.1 环境中运行。
postgresql - 如何在 Hangfire (Postgresql) 中设置成功作业的自动删除
我有几个作业计划在 PostgreSql 支持的 Hangfire 中每 5 分钟运行一次。我看到当使用 SQL 服务器时,成功的作业会自动从数据库中删除。我在 PostGreStorageOptions 中找不到类似的东西。知道如何在 postgresql 中设置成功作业的自动删除吗?
c# - 避免hangfire作业重复的提示?
我遇到一个问题,hangfire 上的某些作业使用相同的参数排队不止一次,这些作业几乎同时排队。
我试图将工人的数量限制为一个,然后用DisableConcurrentExecution
.
我使用 sqlserver 作为存储。任何人都遇到过这个问题,有一些技巧可以避免它吗?
PS:我使用DisableConcurrentExecution
是因为在hangfire文档中说互斥锁和信号量不能保证只调用一次作业。
PS2:检查我的hangfire服务器我注意到我有两个实例,每个实例都有1个工作人员,所以我认为这是一个并行问题而不是并发问题。
hangfire - Hangfire 重试后发送电子邮件
我们有几个设置重试次数为 10 的作业。由于自然或外部服务,有时在第一次或第二次过程中会失败,我们会收到失败的电子邮件。但是在第三或第四次工作会成功。现在我想以协调的方式向早期的失败电子邮件发送电子邮件。因此,如果我们收到成功的连续电子邮件,我们可以放心地忽略早期的失败电子邮件。我想按以下模式发送电子邮件标题;所以更容易关联。
如何在hangfire中实现这一点?我还想检索给定作业的重试次数。
谢谢
到目前为止我的方法。还有其他更好的方法吗?
.net - Hangfire重复工作间歇性工作
我有一个使用 .Net Framework 4.7、Hangfire (v1.7.11) 的 API。我每天凌晨 3 点使用 cron 表达式“0 3 * * *”运行定期作业。但是重复作业间歇性地运行,并将下一次执行显示为过去的“下一次执行 - 7 小时前”。由于我们即将发布的版本时间紧迫,因此需要一些帮助来解决此问题。还按照以下链接设置了所有内容: https ://github.com/HangfireIO/Hangfire.Documentation/blob/master/deployment-to-production/making-aspnet-app-always-running.rst
c# - Hangfire .NET Core ExpirationManager 错误陷入应用程序和连接池
这大约在两天前突然开始,没有押韵或理由,并且完全陷入了我的困境PG
。
我在Hangfire
下面收到一条反复出现的持续错误消息,指出它基本上无法连接到PG
实例,因为没有更多可用连接。
到目前为止我尝试过的事情:
- 我已将此全局属性添加到我的启动中,但它似乎被忽略了,您可以通过以下错误消息中的尝试编号看到: GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute { Attempts = 0 });
- 我尝试重新启动 PG 实例,但所有查询都来自
Hangfire
- 我已尝试重新启动托管
Hangfire
环境的 pod - 我已经通过
Hangfire
API清除了失败的作业 - 我通过将它们全部截断并重置 PG DB 来重置
LastUpdatedId
- 如果我停止应用程序并重新启动数据库实例,则持续调用似乎消失了,所以它让我相信这
Hangfire
是问题所在,而不是数据库,但我不是 100% 确定。
这是不断重复出现的错误消息:
第二条错误消息(截至 2020 年 7 月 14 日的新消息):
hangfire - 如何定制hangfire表?
我需要在hangfire 表中添加一些额外的列。我不知道如何在hangfire 表中添加其他列。
谁能指导我如何在hangfire表中添加其他列以及hangfire如何为这些新添加的列插入值?
我正在使用hangfire fire并忘记作业和存储,我正在使用SQL服务器。我已经使用 NuGet 包管理器在我的 .net Core 项目中安装了hangfire。