0.7.1 • Published 2 years ago

@neume-network/extraction-worker v0.7.1

Weekly downloads
-
License
GPL-3.0-only
Repository
github
Last release
2 years ago

Extractor Worker API

The purpose of the neume-network/extraction-worker (short: "EW") is to parallelize retrieving distributed information from various data sources by abstracting away the complexity of scaling processes accross a distributed system such as e.g. multiple node.js Worker threads.

Installation

npm i @neume-network/extraction-worker
npm i eth-fun --no-save # to install eth-fun as a peer dependency

Interface

A single interface allows sending new jobs to the neume-network-core Worker. Using postMessage and by sending a specific Extractor Worker JSON message object, within a reasonable timeframe, the worker will send back the retrieved record.

Versioning

The API uses semantic versioning to identify temporally different manifestations of the API.

Status Of This Document

The goal is to keep this document up-to-date with the actual implementation of the Extractor Worker API. If you find this document out-of-date, please consider contributing.

Extractor Worker Flow

The Extractor Worker JSON Message Object is sent via postMessage to a Worker instance. An answer of this message can then be expected within a reasonable timeframe. The EW implements a minimal queue, which is why a weak prioritization of submitted tasks can be expected.

Below is a sequence diagram of the entire flow:

JSON Message Object

The JSON object that is sent to a Worker via postMessage is versioned using semver and schematized via JSON schema. To keep things easily updatable, for now see api.mjs const schema to get an idea of what structure is mandated.