1

我最近开始使用ABP 框架开展我的第一个项目

我将它实现为没有UI的模块

我想将Hangfire用于重复性任务,并利用它附带的Hangfire UI/仪表板。

目前没有关于 Hangfire 集成的文档。文档页面为空。我了解 ABP 相对较新,但我想有人已经正确实施了它。

到目前为止,我能找到的最好的是 Github 问题(其中一些仍然开放),用户正在尝试做同样的事情。

  1. 将 Hangfire 配置为后台作业管理器 #2166
  2. 使用 Volo.Abp.Hangfire 模块错误 #1313

我还注意到 Hangfire 有两个 ABP Nuget 包:

  1. Volo.Abp.HangFire
  2. Volo.Abp.BackgroundJobs.HangFire

所以我的两个主要问题是:

  1. 按照 ABP 惯例,在我的Name.Space .Domain项目中实施 Hangfire 作业是否正确?
  2. 如何将其作为经常性工作实施?

同时,我会修补从我分享的链接中提取的内容,如果可行,我会很乐意分享我的解决方案。

4

1 回答 1

1

对于第一个问题,完全可以在领域层实现业务逻辑。因此Hangfire可以处理一些业务逻辑。

对于第二个问题,您可以Configure在启动时在函数中添加此代码:

app.UseHangfireDashboard();
app.UseHangfireServer();
RecurringJob.AddOrUpdate<yourjobsclass>(x => x.yourJobFunction, Cron.MinuteInterval(5));

以下是我认为可以提供帮助的一些资源:

于 2020-01-02T13:35:49.953 回答