问题标签 [hangfire]
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.
sql-server - 在 ExpireAt 后不会删除 Hangfire 作业
我正在SQL Server
使用Hangfire
. 由于每天创造就业机会的速度可能非常高(数以十万计),因此数据库的大小也增长得非常快。
最初我认为它仍然可以,因为Succeeded
工作会在一天后被删除。令我惊讶的是,即使过了几天,这份工作还没有从桌子上删除Hangfire.Jobs
。
当我在 2015 年 7 月 30 日运行此查询时:
我得到了2015-07-21 13:28:27.543
,大约是 9 天前。
我可以自己手动删除这些作业,或者创建一个定期清理它的批处理作业,但是在任何情况下,Succeeded 作业在其 ExpireAt 之后仍然保留吗?
c# - 从 Hangfire backgroundjob C# Web Mvc 调用 Singleton 实例中的方法
正如标题所说,我正在尝试从 Hangfire 中的后台作业调用驻留在 Singleton 实例中的方法。我尝试使用下面的代码将作业排入队列,但它们都不起作用:
我的单例类如下所示:
Hangfire 然后生成此作业和错误:
System.InvalidOperationException
该类型
MyApplicaton.Context.MyApplicatonContext
不包含带有签名的方法TestString()
System.InvalidOperationException:该类型
MyApplicaton.Context.MyApplicatonContext
不包含TestString()
在 Hangfire.Storage.InvocationData.Deserialize()签名的方法
我怎样才能让它工作?
http://docs.hangfire.io/en/latest/background-methods/passing-dependencies.html
asp.net - Hangfire 如何处理应用域重启?
在我的 ASP.NET MVC 应用程序中,我将运行后台任务,有时会持续约 10 分钟。我已经阅读了该主题,发现应用程序域有时会重新启动,从而删除了我的线程。
因此,我查找了一些解决方案。我找到的主要解决方案是Hangfire。我知道它会在它们失败时重新启动作业等,但是它们是否以某种方式“绕过”应用程序域重新启动,或者在这种情况下它只是重新启动作业?
hangfire - 如果在作业运行时部署 Hangfire,会发生什么?
假设我们要部署一些新的 Hangfire 作业,并且作业代码都打包在一起。文档中并不清楚,所以如果在(长时间运行的)作业运行时部署 Hangfire 会发生什么?
asp.net - 在 asp.net mvc web 应用程序中运行后台任务的工具
我对在 asp.net mvc Web 应用程序中执行后台和长时间运行的任务的正确设计决策感到困惑。现在在这两个链接上:-
http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx
&
他们提到在 asp.net Web 应用程序中运行后台任务和长时间运行的任务是有风险的,原因是他们列出的(主要是因为 IIS 不是为运行这些类型的任务而设计的)。但同时他们列出了一些可以安装在 asp.net 项目中以运行后台作业的工具,例如quartz.net、WebBackgrounder 等。
所以我不确定这些工具是如何工作的?例如,如果我将 WebBackgrounder 安装在我的 asp.net mvc Web 应用程序中(使用 nuget),并且我在 IIS 中部署我的 asp.net mvc Web 应用程序,那么这些工具中定义的作业也会在 IIS 下运行吗?或者它们将独立于托管 Web 应用程序的 II 运行?
asp.net - 安装 HangFire 后无法运行我的 asp.net mvc Web 应用程序
我正在开发一个 asp.net MVC-5 Web 应用程序,并使用 nuget 我安装了 hangfire 工具:-
但是当我运行我的应用程序时,我得到了这个异常: -
第二个问题。如果我得到了上述错误修复,我如何使用 hangfire 在预定义的时间间隔调用操作方法。目前我在我的 glabal.asax 中定义如下: -
- - 编辑 - - - - -
现在,在添加了 startup.css 类之后,我在 global.asax 中定义了以下内容:-
主要是调用Home控制器下一个名为“ScanServer”的action方法。现在 ScanServer 是一个异步任务,具有以下定义:-
所以我的 global.asax 引发了这个错误:-
c# - 如何使用 Hangfire 调用异步操作方法
我正在开发一个 asp.net mvc5 Web 应用程序,并且我安装了 Hangfire:-
之后,我创建了一个 startup.css 类,如下所示:-
然后在我的 global.asax 文件中,我尝试调用 2 个操作方法;Index ()
& ScanServer()
,如下:-
&
现在,当 Hangfire 尝试调用具有以下定义的 Index() 操作方法时:-
我收到了这个错误:-
JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。
而当 Hangfire 尝试调用 ScanServer() 操作方法时,它是一个异步任务,具有以下定义:-
我收到了这个错误:-
不支持异步方法。请在后台使用它们之前使它们同步。
那么任何人都可以建议如何解决这两个问题吗?
谢谢
编辑
我在 Startup 类中写了以下内容:-
&这里是连接字符串:-
但我仍然收到此错误:-
JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire 客户端或服务器 API 之前设置它。
c# - 配置和使用多个队列
我在配置和使用多个队列时遇到了麻烦。
以下是我的创业课内容:
服务器正确启动,从仪表板我可以看到队列。
但是当我尝试将进程排入队列时,hangfire 总是将作业设置到默认队列中。这是对该方法的调用:
这是方法实现:
我错过了什么?
c# - 将 Spring.Net 与 HangFire 一起使用
我们使用 spring.net 来管理依赖注入,但是当我们使用 hangfire 运行的方法时,依赖类为空。使用其他 IoC 容器还不是一种选择——请不要问为什么。顺便说一句,如果uploadDoc() 没有通过hangfire 运行,即在应用程序的线程中,spring.net 能够注入依赖类。
代码是这样的:
然后在spring xml中:
然后hangfire像这样执行线程:
任何想法为什么在hangfire线程中,spring.net的依赖注入不起作用?如果在应用程序的线程中运行,它可以工作。