引入排程器参考¶
数据库对象和过程¶
以下过程是通过文件 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
我们建议只对后者进行自定义。
生成器方法¶
可以使用 RunSchedulerIterationHandlerBuilder
对 RunSchedulerIterationHandler
进行自定义。此辅助对象允许对基础界面进行自定义实施:
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();
}
}