Tag: quartz.net

如何在Quartz.net中随时开始工作?

我需要你的帮助来学习Quartz.Net。 但每个样本都是相同的。 我想startTime:07.03.2012 13:28:10但不工作。 不返回错误代码。这次开始? DateTime startdate = DateTime.Parse(“07.03.2012 10:28:10”, culture, System.Globalization.DateTimeStyles.AssumeLocal); // DateTime startdate = Convert.ToDateTime(“07.03.2012 09:46:10”, culture); //DateTime zaman = new DateTime(2012, 3,6,17, 12, 11); DateTime parsedStartTime = DateTime.SpecifyKind(startdate, DateTimeKind.Utc); DateTime localStartTime = parsedStartTime.ToLocalTime(); Trigger trigger = new SimpleTrigger(“myFirstTrigger”, null, parsedStartTime, null, 5, TimeSpan.FromSeconds(10));

如何强制quartz.net作业在完成后重新启动intervall

我有一个项目,我使用TopShelf和TopShelf.Quartz 按照这个例子,我正在建立我的工作 s.ScheduleQuartzJob(q => q.WithJob(() => JobBuilder.Create().Build()) .AddTrigger(() => TriggerBuilder.Create() .WithSimpleSchedule(builder => builder .WithIntervalInSeconds(5) .RepeatForever()) .Build()) ); 即使前一个仍然在运行,它每隔五秒就会激活一次。 我真正想要的是开始一份工作,并在完成后等待五秒钟然后重新开始。 这是可能的还是我必须实现自己的逻辑(例如通过静态变量)。

如何从数据库动态重新安排C#中的Quartz作业调度程序?

我已经在我的C#.Net网站中包含了Quartz.net库,可以根据某些条件自动发送电子邮件。 我已经使用RepeatForever()开始了这项工作。 我从数据库中获取调度程序的设置。 现在当作业已经启动时,无论如何都要检查数据库中调度程序的设置是否已更改,所以我还应该在我的方法中更新它们,以便调度程序动态运行新设置? 到目前为止,我已经这样做了: public void StartJob() { var reminderSettings = GetReminderSettings(); //getting these settings from database var count = GetUnpaidInvoicesListCount(); var intervalBtwnReminders = 0; if (reminderSettings?.RemindersGap != null) { intervalBtwnReminders = (int)(reminderSettings.RemindersGap); } ISchedulerFactory schedFact = new StdSchedulerFactory(); IScheduler sched = schedFact.GetScheduler(); sched.Start(); // create job IJobDetail job = JobBuilder.Create() .WithIdentity(“job1”, “group1”) .Build(); […]

Quartz.Netdependency injection.Net核心

在我的项目中,我必须使用Quartz,但我不知道我做错了什么。 的JobFactory: public class IoCJobFactory : IJobFactory { private readonly IServiceProvider _factory; public IoCJobFactory(IServiceProvider factory) { _factory = factory; } public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler) { return _factory.GetService(bundle.JobDetail.JobType) as IJob; } public void ReturnJob(IJob job) { var disposable = job as IDisposable; if (disposable != null) { disposable.Dispose(); } } } QuartzExtensions: public static […]

Quartz.Net调度程序在本地工作,但不在远程主机上工作

我有一个定时的quartz.net工作在我的开发机器上工作正常,但一旦部署到远程服务器它不会触发。 我相信工作安排好,因为如果我回发,它告诉我工作已经存在(我通常会检查回发)。 电子邮件代码肯定有效,因为’button1_click’事件成功发送电子邮件。 我知道我对删除服务器有完全或中等的信任。 我的主人说他们没有应用他们知道会影响它的限制。 为了让它运行我需要做的任何其他事情? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Quartz; using Quartz.Impl; using Quartz.Core; using Aspose.Network.Mail; using Aspose.Network; using Aspose.Network.Mime; using System.Text; namespace QuartzTestASP { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { ISchedulerFactory schedFact = […]

Quartz Scheduler:如何将自定义对象作为JobParameter传递?

我打算编写一个ASP.NET页面来按需触发作业。 目前,我正在使用SimpleTrigger类来触发作业,但是__Trigger类都没有在JobParameters中支持对象类型作为值,并且据我所知,在钩子下使用WCF Tcp绑定将参数传递给作业调度引擎。 我想知道如何将自定义对象(可序列化)作为作业参数传递。 谢谢你的建议!

Quartz.NET – 这个unit testing不应该通过吗?

这个问题与这个问题有关,但是更加笼统,可以独立对待。 编辑:Quartz版本是v2.0.1 根据我的理解,以下unit testing应通过: [Test] public void Test() { // run every first day of month at 14:00 hours CronExpression expression = new CronExpression(“0 0 14 1 * ?”); // TimeZoneInfo.Local = {(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien} if (!TimeZoneInfo.Local.SupportsDaylightSavingTime) { return; } // get “summertime” period for current timezone var daylightChange = TimeZone.CurrentTimeZone.GetDaylightChanges(2013); […]

如何添加触发器来运行Quartz.Net调度程序实例而不重启服务器?

是否可以添加带有触发器的作业来运行Quartz.NET调度程序实例而无需重新启动服务器?

Castle.Windsor生活方式取决于具体情况?

我有一个Web应用程序,其中许多组件使用.LifestylePerWebRequest()注册,现在我决定实现Quartz.NET ,一个.NET作业调度库,它在不同的线程中执行,而不是Request线程。 因此, HttpContext.Current产生null 。 到目前为止,我的服务,存储库和IDbConnection使用.LifestylePerWebRequest()实例化,因为它使得在请求结束时更容易处理它们。 现在我想在两种情况下使用这些组件,在Web请求期间我希望它们不受影响,在非请求上下文中我希望它们使用不同的生活方式,我想我可以自己处理处理,但我该怎么办关于它根据当前背景选择组件的生活方式? 目前我注册服务(例如),像这样: container.Register( AllTypes .FromAssemblyContaining() .Where(t => t.Name.EndsWith(“Service”)) .WithService.Select(IoC.SelectByInterfaceConvention) .LifestylePerWebRequest() ); 我想我应该使用某种扩展方法,但我只是看不到它..

Quartz.net的简单工作示例

我正在寻找一个简单的Quartz.net for Console应用程序示例(它可以是任何其他应用程序,只要它足够简单……)。 虽然我在那里,是否有任何包装可以帮助我避免实施IJobDetail,ITrigger等。