Agendador de ingestão

Biblioteca que fornece elementos e recursos comuns usados em todos os conectores Snowflake.

Requisitos

A implementação padrão do agendador requer que os seguintes arquivos sejam executados durante a instalação do conector:

Visão geral

A tarefa do agendador cuida de acionar a ingestão de recursos em momentos apropriados de acordo com sua configuração. Esta tarefa não é iniciada pelo SDK em si e precisa ser criada e retomada, por exemplo, durante a etapa de finalização da configuração. Existem duas maneiras de conseguir isso: usando o procedimento chamado PUBLIC.CREATE_SCHEDULER() de SQL ou chamando SchedulerCreator#createScheduler() diretamente do código Java.

A implementação padrão criará a tarefa do agendador usando a expressão fornecida em connector_configuration, sob a chave global_schedule. Quando a tarefa do agendador padrão é executada, ela procura todas as definições de ingestão de recursos habilitadas que têm seus ScheduleType na configuração definida para GLOBAL e seus processos de ingestão correspondentes. Cada um dos processos é então atualizado para o status IN_PROGRESS. Este status será atualizado novamente para SCHEDULED após a iteração de ingestão ser concluída. Então para cada um deles OnIngestionScheduledCallback é executado. Este retorno de chamada pode ser completamente personalizado e pode ser implementado usando SQL ou Java. A implementação padrão deste retorno de chamada não faz nada, no entanto, o SDK também fornece uma implementação deste retorno de chamada usando o módulo Reator de tarefa. Esta implementação recupera os dados sobre recursos do banco de dados e coloca um item de trabalho contendo esses dados na fila do reator de tarefa.

Quando o item de trabalho é concluído, outro retorno de chamada chamado OnIngestionFinishedCallback é executado. Este retorno de chamada altera o estado do processo de volta para SCHEDULED uma vez que a ingestão é feita.