引入排程器参考

数据库对象和过程

以下过程是通过文件 scheduler/scheduler.sql 创建的。

PUBLIC.CREATE_SCHEDULER()

此过程充当 SQL 和 Java 之间的入口点。它将根据 APP_STATE 表中可用的计划创建一个任务运行。执行此任务时,此任务将执行以下 PUBLIC.RUN_SCHEDULER_ITERATION() 过程。

PUBLIC.RUN_SCHEDULER_ITERATION()

此过程是 Java 实施实际计划任务的入口点。每当执行排程器任务时都会调用它。

PUBLIC.ON_INGESTION_SCHEDULED (process_id VARCHAR)

此过程定义了排程器执行的单个进程的引入流程。默认实施不起作用。我们建议使用 OnIngestionScheduledCallback 界面在 Java 中实施此过程。

自定义处理程序

引入排程器程序功能由两个不同的处理程序组成,它们充当从 SQL 到 Java 的入口点:

  • CreateSchedulerHandler

  • RunSchedulerIterationHandler

我们建议只对后者进行自定义。

生成器方法

可以使用 RunSchedulerIterationHandlerBuilderRunSchedulerIterationHandler 进行自定义。此辅助对象允许对基础界面进行自定义实施:

  • ConnectorErrorHelper

  • OnIngestionScheduledCallback

如果没有提供,则将使用默认实施。

class CustomOnIngestionScheduledCallback implements OnIngestionScheduledCallback {
    @Override
    public void onIngestionScheduled(String processId) {
        // CUSTOM LOGIC
    }
}

class CustomHandler {

    // Path to this method needs to be specified in the PUBLIC.RUN_SCHEDULER_ITERATION procedure using SQL
    public static Variant runIteration(Session session) {
        return RunSchedulerIterationHandler.builder(session)
            .withOnIngestionScheduledCallback(new CustomOnIngestionScheduledCallback())
            .build()
            .runIteration()
            .toVariant();
    }
}
Copy
语言: 中文