quartz.net相关内容

Quartz.Net依赖注入.Net核心

在我的项目中,我必须使用Quartz,但我不知道我做错了什么。 JobFactory: 公共类IoCJobFactory:IJobFactory { 私有只读IServiceProvider _factory; public IoCJobFactory(IServiceProvider factory) { _factory = factory; } 公开IJob ..
发布时间:2020-05-30 21:29:20 C#/.NET

在Quartz.NET中,是否有一种方法可以设置仅允许Job的一个实例运行的属性?

我有一项服务,每隔X分钟就会运行一次。如果出于某种不可预见的原因该工作花费了X分钟以上的时间,我想确保触发器不会启动该工作的第二次实例。 示例场景 我有工作X ,会拾取文件,并由Quartz每1分钟触发一次。 作业X通常可以在1分钟内处理100个文件,超过100个文件的任何处理都将花费超过1分钟的时间。 自上次运行以来,恰好有150个文件,因此Job X启动并开始处理。到1分钟时, ..
发布时间:2020-05-30 20:42:32 C#/.NET

使用几个构造函数参数创建一个Quartz.NET Job

我有一份工作,需要在另一个对象上启动一些方法。我希望能够将其传递给其构造函数中的工作。 环顾四周,看来实现此目标的唯一方法是使用IoC构架。尽管此方法将来会成为我的解决方案,但现在我需要一种通用的解决方案,不需要任何IoC。 我知道 JobDataMap ,但最佳做法文档建议不要这样做由于序列化。该对象是多线程且有状态的,因此序列化无论如何都是代码自杀。 如何创建类似于以下内容的 ..
发布时间:2020-05-30 20:13:10 C#/.NET

.net核心Quartz依赖注入

如何在 .net 内核中配置Quartz以使用依赖项注入?我使用标准的.net核心依赖机制。在实现 IJob 的类的构造函数中,我需要注入一些依赖项。 解决方案 Quartz.Spi.IJobFactory 接口并实现它。 Quartz文档指出: 触发触发器时,将通过在Scheduler上配置的JobFactory实例化与之关联的Job。默认的JobFactory仅激活作业类的新实例 ..
发布时间:2020-05-30 19:44:16 C#/.NET

Quartz.Net作业中使用的DBContext的Ninject范围

在Quartz.Net作业实现的执行过程中,通过Ninject依赖关系解析器实例化的DbContext实现的最佳范围是什么?如果我使用了线程作用域,并且使用Quartz线程池中的同一线程多次执行作业,是否可以提供DbContext的同一实例? 我想要一个作用域,这意味着每次作业被解雇时,我都会获得一个(只有一个)DbContext新实例. 解决方案 是的,我建议您不要使用InThre ..
发布时间:2020-05-18 00:02:56 其他开发

如何用ninject注入石英的工作?

我在应用程序中使用ninject和quartz.net,我想用ninject注入作业,但是我不知道该怎么做,因为我所知道的是jobdetail是由Jobimpl类而不是实例创建的,例如: JobBuilder.Create() 有人知道吗? 解决方案 您将必须实现Quartz.Spi.IJobFactory-使用IResolutionRoot创建作业(有关实现, ..
发布时间:2020-05-18 00:01:48 其他开发

永远保持开放状态吗?

我正在使用石英和休眠型,遇到了问题.通常,我会在Web请求完成时关闭所有nhibernate会话,但是我有一个从应用程序启动开始的调度程序,因此我需要传递一个我认为永远不应关闭的nhibernate会话. 我不确定该怎么做. 注入 public class NhibernateSessionFactoryProvider : Provider ..
发布时间:2020-05-17 23:48:23 其他开发

从ASP.NET MVC Web应用发送每日通知邮件

我已经开发了一个C#网络应用MVC,该API通过API调用从另一个站点(Trello)获取一些信息,并允许用户执行一些操作,例如打印带有所有卡详细信息的.xls文件.现在,我想实现一项功能,该功能每天在后台的特定时间每天发送一封邮件到带有该Excel附件的我的Gmail帐户.我想在一个外部项目中实现该功能,但是要在相同的解决方案中实现,但是我不知道该怎么做,我听说了quartz.net,但是我不知 ..
发布时间:2020-05-10 19:39:18 C#/.NET

用Quartz.net记录

我会毫不客气地声明我对Log4Net的经验很少.我只是安装了它,但是它不会捕获来自调度数据库Quartz.net的日志事件.显然Quartz.net使用Commons Logging,并且需要对其进行配置以指向我的Log4Net设置.不幸的是,它似乎不起作用.感谢您的帮助: ... ..
发布时间:2020-05-03 07:02:33 其他开发

如何在Quartz.Net中从Log4Net切换到NLog?

我公司的标准日志记录工具是NLog.我正在尝试介绍Quartz.net,并被问到它是否可以使用NLog代替Log4Net. 我知道我可以重新编译以使用NLog,但如果可能的话,我想从配置文件中完成此操作. 解决方案 假定您使用的是Quartz.net 1.0.3.您必须添加对以下程序集的引用: 常用日志记录 Common.Logging.NLog NLog 然后,您必 ..
发布时间:2020-05-03 07:00:36 其他开发

AWS托管的.NET Core 2 Web应用程序中的计划作业

我们正在.NET Core 2中启动一个新项目,我将需要某种方法来运行计划的工作来完成一些工作.该应用程序将托管在Linux服务器或AWS linux实例中.我已经使用Azure WebJobs和.NET 4.6做到了这一点. .Net Core和Linux如何做到这一点 解决方案 我不知道是谁提出了这个问题.我出去玩了Hangfire Jobs.相当容易工作.实际上不是预定的工作.但是我 ..
发布时间:2020-04-23 11:05:51 C#/.NET

将quartz.net在共享主机中运行

嗨, 我在查看quartz.net时很困惑 我想制作一个调度程序,用于向我的asp.net应用程序的用户发送邮件。我有共享主机。 它会在共享主机上运行还是我必须为它服务一个新服务器。 谢谢 解决方案 这是给您的托管服务提供商的一个问题。 通过共享托管,所有股东都在同一个托管计划中同一系统可以访问同一组软件产品。其中一些产品可以是可选的,仅安装在您的域或仅安装在您的 ..
发布时间:2019-06-15 04:12:26 其他开发语言

在Quartz中每50秒Cron表达一次

我使用Quartz运行我的作业,每隔50秒使用一个cron表达式: Cron_Expression =“0/50 * * * *?“ 我的工作在几秒钟内运行: 50,60,50,60 ,... 而不是每50秒!并且不会在第二个“0”运行。 从0开始,每50秒正确的cron表达式是什么? 解决方案 '/'语法指定期间的增量而不是重复间隔。不可否认,这是一个 ..
发布时间:2018-12-28 21:37:20 Java开发

Quartz.net作业未处理的异常行为

我正在为我的项目执行quartz.net调度程序,并对这个库的运行有一些疑问: 一个工作引发一个例外,没有catch块(未处理的异常)?这会导致进程终止和AppDomain卸载吗?其他工作是否会受到损害? Quartz.net lib是否尝试重新启动引发未处理异常的作业?或者我应该在我的项目中手动执行? 谢谢。 解决方案 从我可以确定是Quartz.net用户自己。 如 ..

只有通过查看cron表达式才能获得下一个触发时间

我运行Quartz.NET作为服务,我直接在 quartz-jobs.xml 文件中添加我的作业。所以为了添加和删除作业和触发器,我处理 Xml ,而不是正常的功能。 我想知道如何通过查看其cron表达式来获得触发器的下一个触发时间。 解决方案 您可以从给定的cron表达式获取下一个触发时间: var expression = new CronExpression(“0 26 1 ..
发布时间:2017-01-13 22:07:04 C#/.NET