Kentico 11 计划任务不会在自定义类中运行

问题描述

我在 Kentico 11 实例上的“Site1”下构建了 2 个自定义计划任务。“Site1”下有几个计划任务在运行。大多数运行代码来自 Kentico 的 CMS 库,例如 CMS.Membership.DeleteNonActivatedUser。

我的 2 个自定义计划任务位于 App_Code 文件夹中。

using CMS;
using CMS.EventLog;
using CMS.Scheduler;
using System;

[assembly: CMS.Assemblydiscoverable]
[assembly: RegisterCustomClass("CustomTask1",typeof(namespaceName.CustomTask1))]
[assembly: RegisterCustomClass("CustomTask2",typeof(namespaceName.CustomTask2))]
namespace namespaceName
{
    public class CustomTask1 : ITask
    {
        public string Execute(TaskInfo task)
        {
            try
            {
                EventLogProvider.LogEvent(EventType.informatION,"CustomTask1","Task Begin","Task is working.");

            }
            catch (Exception ex)
            {
                EventLogProvider.LogEvent(EventType.ERROR,"Task Error","Task threw exception: " + ex.Message);
            }

            return null;
        }

    }

    public class CustomTask2 : ITask
    {
        public string Execute(TaskInfo task)
        {
            try
            {

                EventLogProvider.LogEvent(EventType.informatION,"CustomTask2","Task is working.");
            }
            catch (Exception ex)
            {
                EventLogProvider.LogEvent(EventType.ERROR,"Task threw exception: " + ex.Message);
            }
            return null;
        }
    }
}

My CustomTask1 和 CustomTask2 出现在 Kentico 任务计划程序的类下拉列表中。我已将这两个任务设置为每天早上 6:00 运行。并选中启用复选框。以下复选框均未选中。当我单击任务列表页面上的绿色三角形时,我会收到一条弹出消息,表明它正在运行。但事件日志中没有记录任何内容,上次运行日期时间和运行计数器均未更改。

有人知道这是什么原因造成的吗?我有多个自定义计划任务在不同的 Kentico 实例中运行,它们运行良好,但我无法让此实例运行我的自定义任务。

有什么想法吗?

解决方法

您不应该在版本 11 中需要它:

java.lang.NullPointerException at de.digitalcollections.openjpeg.imageio.OpenJp2ImageReader.checkIndex(OpenJp2ImageReader.java:63) at de.digitalcollections.openjpeg.imageio.OpenJp2ImageReader.read(OpenJp2ImageReader.java:134) at java.desktop/javax.imageio.ImageReader.read(ImageReader.java:938)

如果您在站点重新启动后查看事件日志,是否可以看到在系统重新启动时加载模块的 AppStart 事件?如果不是,您的应用可能没有注册该自定义代码。那时,可能值得在本地构建该代码并查看是否有任何错误。