hyperboria/nexus/ingest
the-superpirate dd23846059 - [nexus] Refactoring
- [nexus] Switch bot
  - [bot] Added extra receivers functionality

GitOrigin-RevId: 68fc32d3e79ff411758f54f435fe8680fc42dead
2022-03-28 17:42:18 +03:00
..
jobs - [nexus] Refactoring 2022-03-28 17:42:18 +03:00
sinks No description 2021-01-04 18:12:22 +03:00
__init__.py No description 2021-01-04 18:12:22 +03:00
BUILD.bazel - [nexus] Refactoring 2022-03-28 17:42:18 +03:00
main.py - [nexus] Refactoring 2022-03-28 17:42:18 +03:00
README.md No description 2021-03-29 18:01:30 +03:00

Nexus Ingest

Ingest goes to Internet and send retrived data to Kafka queue of operations. This version has cut configs subdirectory due to hard reliance of configs on the network infrastructure you are using. You have to write your own configs taking example below into account.

Sample configs/base.yaml

---
jobs:
  crossref-api:
    class: nexus.ingest.jobs.CrossrefApiJob
    kwargs:
      actions:
        - class: nexus.actions.crossref_api.CrossrefApiToThinScimagPbAction
        - class: nexus.actions.scimag.ScimagPbToDocumentOperationBytesAction
      base_url: https://api.crossref.org/
      max_retries: 60
      retry_delay: 10
      sinks:
        - class: nexus.ingest.sinks.KafkaSink
          kwargs:
            kafka_hosts:
              - kafka-0.example.net
            topic_name: operations_binary
  libgen-api:
    class: nexus.ingest.jobs.LibgenApiJob
    kwargs:
      actions:
        - class: nexus.actions.libgen_api.LibgenApiToScitechPbAction
        - class: nexus.actions.scitech.ScitechPbToDocumentOperationBytesAction
      base_url: libgen.example.net
      max_retries: 60
      retry_delay: 10
      sinks:
        - class: nexus.ingest.sinks.KafkaSink
          kwargs:
            kafka_hosts:
              - kafka-0.example.net
            topic_name: operations_binary
log_path: '/var/log/nexus-ingest/{{ ENV_TYPE }}'