问题标签 [fluentscheduler]

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 投票
1 回答
4426 浏览

c# - 如何使用带有 Web Api 的 FluentScheduler 库来安排作业?

我无法让 FluentScheduler 在 .Net Framework 4.5.2 Web api 中工作。几天前,我问了一个关于通过控制台应用程序调度的类似问题,并且可以在帮助下让它工作,但不幸的是现在遇到了 Web Api 的问题。下面是代码。

下面是我要安排的工作,现在只是将文本写入文件

0 投票
2 回答
1327 浏览

asp.net - 运行后台进程/任务更新数据库

我正在尝试找到保持数据库更新的方法,但是执行此操作的方法会消耗大量时间,因此我尝试创建一个后台任务来执行此操作。

我搜索了解决方案,并阅读了这篇关于运行后台进程的不同选项的文章:https ://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

但我不知道最好的解决方案是什么,就像我试图在应用程序之外执行它一样。我也发现了一些关于创建 Windows 服务的东西,但我不知道如何,我没有找到一些好的例子。

每次访问应用程序时保持数据库更新而不浪费时间的最佳方法是什么?如果你能帮助我看到光明,我将非常感激。

0 投票
2 回答
7228 浏览

asp.net-core-mvc - 使用 FluentScheduler - ASP.NET Core MVC

我目前有一个使用 ASP.NET Core MVC (.NET 4.6.1) 的简单网站设置,我想定期执行一些流程,例如在每天结束时自动向注册会员发送电子邮件。

经过一番搜索,我发现了两个常见的解决方案——Quartz.NET 和 FluentScheduler。

基于这个SO thread,我发现使用 FluentScheduler 的方法更容易消化和用于我的简单任务。在我的 Program.cs 类中快速实现以下代码行后,我每分钟都会成功发送电子邮件(出于测试目的)。

但是,现在除了发送电子邮件之外,我还需要做一些后端处理,例如在发送邮件时更新数据库中的用户记录。为此,我通常将我的实体框架上下文注入到我的控制器的构造函数中,并使用它来获取/更新 SQL 记录。

我的问题是,由于我无法真正将这些服务注入到 main 方法中,那么初始化注册表和添加作业以进行调度的合适位置在哪里?

感谢您的帮助,我对此有点陌生,因此非常感谢您的指导!

0 投票
3 回答
3950 浏览

c# - 构造函数中的 FluentScheduler 依赖注入

我正在用 FluentScheduler 试验 ASP.net Core API 中的一些后台任务。

该作业应根据几个标准在特定时间间隔每天发送推送通知。我已经浏览了文档并实现了一个测试功能以在控制台窗口中打印一些输出。它按预期的时间间隔工作。

但我要做的实际工作涉及数据库上下文,它提供必要的信息来执行发送通知的标准。

我的问题是我无法在MyJob类中使用带参数的构造函数,这会引发缺少方法异常

PS:根据 Scott Hanselman 的这篇文章,FluentScheduler 似乎很有名,但我无法从在线社区获得任何帮助。但显然,它很容易掌握。

0 投票
1 回答
916 浏览

dependency-injection - 流式调度程序作业调用方法时无法访问已处理的对象异常

在调用使用 DI 注入的 dbcontext(瞬态作用域)的方法期间,我收到“无法访问已处置的对象”异常——很可能在调用时已处置 dbcontext。该方法正在由流利的调度程序作为作业调用:

ExecuteUpdateDbContext 方法在任何情况下都可以工作,除非由 fluent 调度程序使用。我是否需要对我的 ExecuteUpdateDbContext 方法做一些特别的事情才能使它与流利的调度程序一起工作?

0 投票
2 回答
1523 浏览

c# - 在 .NET Core API 应用程序中使用 FluentScheduler 期间的 DependencyInjection 问题

我想每小时更新一次数据库中的数据。所以,我为此找到了很好的FluentScheduler库并创建了我的IJob

当然,我创建了我的Registry实现来安排我需要的所有任务:

我还在我的 Program.cs 文件中添加了以下代码来初始化调度程序并启动它:

但是当我运行我的应用程序时,我看到以下错误:

运行应用

我知道LoadersRegistry无法创建InfoLoader(在JobManger初始化期间Program.cs)的实例,因为InfoLoader接收DataContext. 但我不能不接收DataContext,因为我需要它在我的数据库中添加数据。

不幸的是,我找不到解决此问题的方法。

谢谢你的帮助。

PS 我读到过在 asp.net core 中使用 FluentScheduler,但是这个库的开发者说这个功能将来不会因为这个而可用,所以我仍然不知道如何解决这个问题。

0 投票
0 回答
59 浏览

c# - C#:将作为类名的字符串转换为 T

我在当前程序集中有一个名为“MyJob”的类

我希望在运行时使用此功能:

如果我这样做:

我收到此错误(在设计时):“myJobType”是一个变量,但用作类型

顺便说一句,这是 FluentScheduler 但我希望有一个通用的答案......

0 投票
1 回答
414 浏览

c# - 如何对预定的逻辑进行单元测试?

这个问题是关于对预定方法进行单元测试的。

我正在使用FluentScheduler来实现预定的作业执行。

这是我的Execute方法

这是调度程序的“app.config”条目。

问题 1:如何测试在正确的时间执行的方法?那是每60秒?

问题 2:execute 内部的逻辑需要独立于调度程序进行测试吗?

0 投票
1 回答
755 浏览

c# - 如何使用 FluentScheduler 正确配置 Simple Injector

我有以下简单注射器的配置。

RegisterScheduler 初始化和调度作业。

BackgroundScheduler 如下所示:

BackgroundScheduler 依赖于 IUserService。当我尝试在后台调度程序中注入 IUserService 时,出现以下异常:

BackgroundScheduler 注册为“混合 Web 请求/线程范围”生活方式,但在活动(混合 Web 请求/线程范围)范围的上下文之外请求实例。

堆栈跟踪:

我不确定为什么会这样?

0 投票
1 回答
440 浏览

c# - 如何检查我的工作是为 FluentScheduler .NET 启动还是停止

如何检查是否为FluentScheduler .NET 运行作业。我在类中有以下代码Startup.cs用于初始化我的工作:

以及我的控制器中的以下代码:

我想在视图上显示我的工作是开始还是停止。我怎么能做到这一点?我看不到合适的方法。