问题标签 [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 1.7.11 和这个过滤器,但我将指纹格式更改为使用SHA256Hash。
我不知道为什么hangfire 没有执行预定的作业。我正在安排这样的工作:
- 我的数据库是在 AWS 上运行的 SQL Server Express;
- 我的前端和后端在同一台服务器上;
- 我有一个正在运行的服务器。
- 经常性工作看起来还可以;
您可以在下图中看到问题:
编辑 1
但是,这些作业是由另一个应用程序安排的。使用相同的想法:
我有一个使用相同数据库服务器但在不同数据库上的登台环境。它可以工作,但是对于生产来说,我还有更多的工作要处理。
编辑 2
昨天我删除了数据库,今天它运行良好。我们正在使用 AWS ECS Fargate 和 Autoscaling。有时会在必要时添加一些服务器。我不知道这会不会有问题。
.net - Hangfire 重复作业 - 如何动态更改间隔
我有一个 .NET Web 应用程序,它使用 Hangfire 进行一些重复性工作。我想构建功能,以便用户可以通过应用程序更改作业的间隔。但似乎“更新”不起作用。
我已将 Startup.cs 配置为在应用程序运行时启动作业:
现在在控制器中,当用户单击更新按钮时将调用此方法。
但似乎这份工作没有得到更新。我仔细检查了 Hangfire.Hash 表,这项工作的 Cron 值根本没有改变。
我也尝试删除作业然后将其添加回来,也不起作用
我错过了什么?如何获取用户设置和更新的时间间隔?
hangfire - 从数据库脚本触发重复的 Hangfire 作业
我有一个非常复杂的 sql 脚本来清理我的数据库,并且会不时手动运行。脚本运行后,我必须立即开始一个经常性的挂火作业,该作业通常每天只执行一次。
为了不忘记运行脚本,我想直接从 sql 脚本触发执行。有没有一种简单的方法来修改一个hangfire 表来完成这个任务?
Hangfire核心版本为1.7.5
更新: 不幸的是,我没有找到任何包含重复作业的hangfire 表。因此,我想它们根本没有持久化。是否可以通过在 HangFire.Job 表中插入新行来运行作业?或者这是一个坏主意?
asp.net - Hangfire 仪表板“无法刷新统计信息:服务器响应 500(内部服务器错误)。尝试手动重新加载页面..”
我在 PPD 服务器上的 hangfire 仪表板上收到此错误,但在我的本地和开发人员上工作。
无法刷新统计信息:服务器响应 500(内部服务器错误)。尝试手动重新加载页面,或等待一分钟后自动重新加载。
我正在使用 asp.net 核心 3.0。
有没有办法解决这个问题?
hangfire - 为什么hangfire 作业会在多个服务器上运行?
为什么我们的工作要在多台服务器上运行?我们正在使用 v 1.7.6 并且作业在多于 1 台服务器上启动。这是我们的配置:
从我读到的,我们不应该在 1.7 中再使用slidingexpiration?
c# - 是否可以在 Hangfire 中同时使用存储(PostgreSQL 和 InMemory)?
当我想以两种不同的方式运行作业时,我试图解决这个问题,只针对一个服务实例和多个服务实例。所以我决定创建两个不同的队列,只将“本地”作业保留在“本地”队列和内存中(单个实例),并将“全局”作业保留在 PostgreSQL 的“全局”队列中(多个实例)
我有一些存储问题。我需要两个存储用于两个不同的队列。我需要“本地”存储(例如 InMemery)和“全局”存储(PostgreSQL)——队列的名称相同。因此,当我尝试在 IoC 中注册两个存储时,我只得到最后一个。例如,PostgreSQL。
我认为我可以编写自己的存储将称为“混合”,但这是很多工作,也许有人知道如何解决这个问题?
azure-active-directory - 如何在 ASP.NET Core 中使用 Hangfire 与 Azure 数据库和 Active Directory 密码身份验证
我们正在尝试在 ASP.NET Core WebApi 应用程序 (.NET 5) 中首次使用 Hangfire (v1.7.19)。以前他们都是老派的 ASP.NET,并且工作没有问题。
使用的 Hangfire 包(根据Hangfire 文档)是Hangfire.Core
,Hangfire.SqlServer
和Hangfire.AspNetCore
. 我们也尝试只使用组合Hangfire
包,但结果相同。
直接从该文档页面上的代码中提取,在 ConfigureServices 我们添加
它在运行时给出
的connectionString
值为
这适用于本地 SqlServer 和 LocalDb,但不适用于 AzureDB。连接字符串正是我们也用于 EntityFrameworkCore 5 的连接字符串(实际上,该值是从 分配的context.Database.GetConnectionString()
)。
我已经阅读了 AzureDB 和 .NET Core 存在问题的地方,但这些问题在很久以前就已经解决了。查看Hangfire.SqlServer
包依赖项,我看到它在哪里使用System.Data.SqlClient
,AzureDB 使用的当前文档都参考了Microsoft.Data.SqlClient
,这让我认为支持 Active Directory 密码身份验证的增强功能不是在新包中进行的,System.Data.SqlClient
而是在较新的Microsoft.Data.SqlClient
包中进行的。如果是这种情况,我可以请求 Hangfire 替换它的 SqlClient 包,但在我这样做之前希望得到确认。
如果确实如此,有什么想法吗?在此期间我们可以做些什么来解决这个问题吗?
提前致谢。
sql-server - 挂火后台作业给出 SQL 异常:登录失败
我遵循的教程 - https://docs.hangfire.io/en/latest/getting-started/aspnet-core-applications.html
在启动类中配置服务
SqlException:无法打开登录请求的数据库“HangfireTest”。登录失败。用户“PENGUIN\PC”登录失败。
当我运行应用程序时出现此异常?
c# - Hangfire 和 ASP.NET Core 的服务定位器无法解析 AppDbContext
我正在尝试在 ASP.NET Core 5 Web 应用程序中使用 Hangfire。我正在使用依赖注入将各种依赖项传递给每分钟运行一次的 hangfire 任务。不幸的是,当我尝试使用实体框架核心执行查询时,我收到以下错误消息:
System.ObjectDisposedException: '无法访问已释放的上下文实例。此错误的一个常见原因是释放从依赖注入中解析的上下文实例,然后尝试在应用程序的其他地方使用相同的上下文实例。如果您在上下文实例上调用“Dispose”或将其包装在 using 语句中,则可能会发生这种情况。如果你使用依赖注入,你应该让依赖注入容器负责处理上下文实例。对象名称:“AppDbContext”。
这是我想用 Hangfire 每分钟运行的任务:
这是我的配置服务...
这是我在 Startup Configure 中实例化 Hangfire 任务的地方: