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.
npm i @neume-network/extraction-worker
npm i eth-fun --no-save # to install eth-fun as a peer dependency
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.
The API uses semantic versioning to identify temporally different manifestations of the API.
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.
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:
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.