OCR-D / zenhub

Repo for developing zenhub integration
Apache License 2.0
0 stars 0 forks source link

Processing Broker and Processing Server #136

Open tdoan2010 opened 1 year ago

tdoan2010 commented 1 year ago

This epic is used to track the progress of the implementation of Processing Broker and Processing Server.

web-api-distributed-queue

Processing Broker features:

  1. Deploy all necessary processing servers and a message queue system (e.g. RabbitMQ) at specified locations via a configuration file. The deployment is either via Docker or native.
  2. Configure the queuing system with specified number of queues. Each processor type should have its own queue, and the queue name is the name of the processor. For example, ocrd-dummy queue for the ocrd-dummy processors.
  3. Accept the incoming requests via REST API and submit a message to the appropriate queue.
  4. Shutdown all processing servers and the message queue if requested or by the end of the OCR process.

Processing Server features:

  1. Listen to the message queue and pull the message.
  2. Save the working status and log to the database.

New specifications

To achieve the mentioned functionalities, 2 new specification must be created:

  1. The schema of the configuration file, which the processing broker takes.
  2. The structure of the message submitted to the queue.