coldfusion - 默认QuartzScheduler_Worker "Task invokehandler could not be chained"

标签 coldfusion quartz-scheduler coldfusion-10

对于计划任务,但没有链接的任务,启动 Adob​​e ColdFusion 10 服务(在 Windows 上)时,我在异常日志中收到以下错误。如何解决此问题并找到错误根源?

"Error","DefaultQuartzScheduler_Worker-2","09/15/14","15:12:02",,"Task invokehandler could not be chained"
java.lang.Exception: Task invokehandler could not be chained
    at coldfusion.scheduling.CronTask.onCompleteTask(CronTask.java:214)
    at coldfusion.scheduling.CronTask.execute(CronTask.java:130)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213)

注意:我收到三个几乎相同的错误,唯一的区别是上面的错误中显示“Worker-2”,我还收到“Worker-1”和“Worker-3”

最佳答案

您可以在这里做几件事。您可以编写一个 ColdFusion 页面来检查计划任务的运行状况并手动监视该页面 ( Check health of scheduled tasks )。当然,该代码本身也可以是计划任务。或者,您可以在不同点将日志记录添加到计划任务中,以“查看”它们正在做什么。我更喜欢后者。

对于最简单的日志记录,您可以在 ColdFusion 管理器中的“日志记录设置”页面下选中“启用计划任务日志记录”。这将创建一个名为scheduler.log的新日志文件。此选项将报告任务何时启动、何时结束、是否出错等。但是此日志仍然只包含通用信息,例如任务名称和用于执行任务的线程名称。这本身可能不会对您有太大帮助,但它会向您显示哪个线程正在运行哪个任务。

有关更详细的信息,您需要在计划任务代码中添加您自己的日志记录。我通常将日志记录代码放置在代码执行期间的主要位置; “开始”、“检索数据”、“更新数据库”、“写入文件”、“完成”等。然后,每当您需要检查任务发生了什么时,您只需读取日志文件即可查看。

这里是一些示例代码:

<cftry>
    <cflog file="your_file_name" type="information" text="Starting scheduled job xyz">

    ... code ...

    <cflog file="your_file_name" type="information" text="Step 123">

    ... code ...

    <cflog file="your_file_name" type="information" text="Step 456">

    ... code ...

    <cflog file="your_file_name" type="information" text="Scheduled job xyz finished successfully">

    <cfcatch type="any">
        <cflog file="your_file_name" type="error" text="Error: #cfcatch.Type#, #cfcatch.Message#, #cfcatch.Detail#">
        <!--- I usually send an email to myself for errors as well using <cfmail ... /> --->
    </cfcatch>
</cftry>

这里是 documentation for the <cflog> tag 的链接。

关于coldfusion - 默认QuartzScheduler_Worker "Task invokehandler could not be chained",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25855337/

相关文章:

时间范围的 Cron 表达式

Coldfusion:api 调用数组和结构上的嵌套循环

coldfusion - 调用名称中包含变量的变量 - Coldfusion?

url - 你如何看待 ColdFusion 中的客户端 URL?

coldfusion - 在 ColdFusion 中生成等同于 .NET 成员密码盐的密码盐

spring - 第一个 Spring 批处理作业被第二个作业的详细信息覆盖

c# - Quartz.Net 调度程序作为 Windows 服务运行

coldfusion - 在 ColdFusion11 中使用 java 类 - CreateObject 函数的 java 对象类型未知

coldfusion - 如何确定列表中的给定单词或短语是否在 anchor 标记内?

Coldfusion 对象 v10 与 v9