我有一个Quartz.net工作,每5分钟发送一次电子邮件。当我在本地调试模式下运行应用程序时,它运行得非常好。但是,当部署到服务器时,作业未运行。有人会想到一个原因吗?
我们部署的站点是IIS中的ASP.NET网站。
答案 0 :(得分:0)
连接这两个“内置”听众......
<add key="quartz.plugin.jobHistory.type" value="Quartz.Plugin.History.LoggingJobHistoryPlugin, Quartz" />
<add key="quartz.plugin.triggHistory.type" value="Quartz.Plugin.History.LoggingTriggerHistoryPlugin, Quartz" />
你需要连接ILog的东西。
然后你就能弄清楚发生了什么和不发生什么。
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
</configSections>
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog20">
<arg key="configType" value="FILE" />
<arg key="configFile" value="~/NLog.config" />
</factoryAdapter>
</logging>
</common>
NLog.config
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" internalLogFile="Nlog.log">
<targets>
<target name="logfileTargetName" xsi:type="File" layout="${longdate}|${level}|${callsite}|${logger}|${threadid}|${windows-identity:domain=false}__${message} ${exception:format=message,stacktrace:separator=*"
fileName="MyNLogLogFile.txt" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="logfileTargetName"/>
</rules>
</nlog>
答案 1 :(得分:-1)
我究竟是什么导致了这个问题。我花了很多时间在这上面但却找不到工作没有运行的原因。最后我查看了日志,发现在它之前运行的工作抛出了某种异常,所以我把我的工作从列表中的最后一个移到列表中的第一个,它开始工作正常。还有一些奇怪的事情也发生了,我并没有完全满足它是如何解决的。我想到的其他事情是
无论如何,在我重新安排工作后,工作开始正常运行。有趣的是,我修改了分支中的顺序,并在开发和暂存环境中修复了它。