问题标签 [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.

0 投票
0 回答
99 浏览

c# - 如何清理 Hangfire SQL 数据库,保持实际作业运行

我现在使用hangfire 一年多了,带有hangfire 控制台,有些表似乎有旧信息,来自过期的工作

我创建了一些脚本来清理 Set 表,但它似乎不对,我的意思是,有数百万条记录

Hash 表也有数百万条记录。

作业成功后,我是否错过了hangfire 上的一些配置以删除所有这些记录?

这是我的数据库的大小,大约 2GB 用于 3k 个作业

数据库大小

0 投票
1 回答
50 浏览

sql-server - Hangfire Server 是否可以访问应用程序中的敏感数据?

为了使用 ASP.NET 核心 MVC 构建后台作业,我遇到了 Hangfire,我将这个想法介绍给了我的经理,他关心的是安全性,其中一些问题如下。

  • Hangfire Server 是否有权访问将在应用程序中实现的敏感数据?
  • Hangfire Server 如何触发代码中实现的作业?
  • Hangfire 服务器中是否保存了任何敏感数据?

我将不胜感激有关 Hangfire 安全性的任何建议或信息。

0 投票
2 回答
253 浏览

c# - Hangfire 在多个物理服务器上的单个应用程序中

我在单个 Web 应用程序中运行 hangfire,我的应用程序在 2 个物理服务器上运行,但 hangfire 在 1 个数据库中。

目前,我正在为每个队列生成一个服务器,因为每个队列我需要一次运行 1 个工作人员并且它们必须按顺序排列。我像这样设置它们

我的问题是它在服务器上生成多个队列,具有不同的端口。 在此处输入图像描述

在我的代码中,如果作业正在排队/重试,我会尝试停止运行,但如果作业正在不同的物理服务器上运行,则找不到它并再次排队。

这是检查其是否已经运行的代码

每个方法也有类似以下的属性

接口的简单实现

这是我添加预定工作的方式

为什么会这样?我怎样才能阻止它发生?

0 投票
0 回答
49 浏览

asp.net-core - Hangfire后台作业未触发

嗨,我有一个后台作业,我在我的 HangfireController 中初始化,我希望该作业仅在单击按钮后触发,该作业不会触发并在我正在调用的方法内击中我的断点,并且不会出现错误,我的其他重复性工作正常工作,我会遗漏什么吗?请参阅下面的代码

挂火控制器

家庭控制器

StartUp.CS,我在其中配置 hangfire 进行初始化

注意这两个重复的作业工作得很好,只有 Backround.enqueue 作业不会触发。

0 投票
1 回答
24 浏览

hangfire - LINQPad 中的静态 Hangfire RecurringJob 方法不正常

我在 LINQPad 中有一个如下所示的脚本:

我必须同时安排 QA 和 PROD。为此,我切换serverMode变量并运行一次 forEWPROD和一次 for EWQA。直到最近这一切都很好,不幸的是我不知道它什么时候发生了变化,因为我并不总是必须在两种环境中运行。

两天前我确实购买/安装了 LINQPad 7 来查看一些 C# 10 功能,但我不确定这是否会影响它。

但这是问题/流程:

  1. 运行它EWQA,一切正常。
  2. 运行它,EWPROD脚本(Hangfire 组件)似乎混合了 QA 和 PROD 运行。

当我“第二次”运行它时,EWPROD我已经确认:

  1. hangfireCs连接字符串)是正确的(指向 PROD),它被分配给JobStorage.Current
  2. 脚本末尾的查询JobStorage.Current.GetConnection().GetRecurringJobs()使用正确的连接。
  3. Action 中的RecurringJob.*方法createOrReplaceJob使用上一次运行的连接(即EWQA)。如果我监控我的 QA Hangfire 数据库,我会看到该作业被删除和添加。

临时解决方法:

  1. 运行它EWQA,一切正常。
  2. 重新启动 LINQPad 或使用“取消并重置所有查询”方法
  3. 运行它EWPROD,现在一切正常。

所以我不知道问题可能出在哪里。我觉得我升级/安装 LINQPad7 可能会导致问题,但我不确定是否有其他方法可以使RecurringJob.*静态方法使用“更新”连接字符串。

关于为什么现在需要重新启动或重置的任何想法?

LINQPad - 5.44.02 Hangfire.Core - 1.7.17 Hangfire.SqlServer - 1.7.17

0 投票
0 回答
8 浏览

asp.net-mvc - Hangfire Server 自动终止

我有一个在 Windows 服务中运行的 hangfire 服务器。我创建了三个 Windows 服务实例,这样我就可以运行三个服务器,每个服务器有 90 个工作人员。现在,当它开始处理工作时,一切正常。一段时间后,服务器的数量从 3 变为 2。它会自动删除一台服务器。请在这方面帮助我,为什么hangfire会这样?

问候, 伊姆兰

0 投票
0 回答
5 浏览

hangfire - Hangfire:批量手动重新排队失败的作业

一些 Hangfire 作业在我们遇到系统负载很大的期间无法执行。我们遇到了以下错误消息。

在 SQL Server 中手动批量重新排列这些“失败”作业的最佳方法是什么?