Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Ingestion Framework

Custom ETL (Extract, Transform, Load) implementation that facilitates the ingestion and processing of content from different data sources so this content can be made available through the Discovery API.

Terms

Record

Simple unit of content, usually references one document, one user, one row in a table.

Seed

A seed is the origin of records. Can be records from a relational database, a website, Amazon S3, among others.

Seed clean up

The seed clean up is a job maintenance. The idea is clean data related with a seed that we don't need. This job is triggered when a seed is deleted, sending a message to all processors and connector.

Examples of clean up implementations:

  • Delete seed scan/failure indexes
  • Delete remaining cache in disk

The actual clean up implementation does nothing, the class to process the job is created to be replaced. The default implementation locations is SeedCleanUpProcessor

You can replace this default behavior based on Bean Replacement of Micronaut, for example:

Default class

@Singleton
@Named(SeedCleanUpRequest.TASK_NAME + MaintenanceProcessor.BEAN_SUFFIX)
public class SeedCleanUpProcessor implements MaintenanceProcessor<SeedCleanUpRequest> {

  @Override
  public void execute(SeedCleanUpRequest config) {
    // Implement the necessary clean up seed
  }
}

New class implementing indexes delete

@Replaces(SeedCleanUpProcessor.class)
@Singleton
@Named(SeedCleanUpRequest.TASK_NAME + MaintenanceProcessor.BEAN_SUFFIX)
public class SeedCleanUpIndexesProcessor implements MaintenanceProcessor<SeedCleanUpRequest> {

  @Inject
  protected ElasticsearchSimpleClient elasticsearchSimpleClient;

  @Override
  public void execute(SeedCleanUpRequest config) {
    elasticsearchSimpleClient.deleteIndex(String.format("scan.%s", config.getSeedId()));
    elasticsearchSimpleClient.deleteIndex(String.format("failures.%s", config.getSeedId()));
  }
}

The example above shows how to replace the class SeedCleanUpProcessor with SeedCleanUpIndexesProcessor.

Pipeline

A finite state machine that defines the order in which processing steps are executed on records

Processor

A unit of work that needs to be done to a record.

Cronjob

Defines a schedule to run a given list of seeds.

Job

A batch of records and unit of work in the PDP.

  • No labels