The Worker app of the PDF Aggregation Service.
Go to file
Lampros Smyrnaios d5a997ad3d Use restTemplates with different read timeouts depending on the operation. For the assignments-request we need a shorter read timeout, than the one we need for the worker-report. This guarantees that the connection does not hungs for so long, when the Controller crashes before sending the assignments. 2023-04-29 17:24:16 +03:00
gradle/wrapper Update Gradle. 2023-04-22 06:44:04 +03:00
src Use restTemplates with different read timeouts depending on the operation. For the assignments-request we need a shorter read timeout, than the one we need for the worker-report. This guarantees that the connection does not hungs for so long, when the Controller crashes before sending the assignments. 2023-04-29 17:24:16 +03:00
.gitignore - Update the "installAndRun.sh" script to be able to just run the app (without re-installing), if you want. 2021-09-09 16:28:58 +03:00
README.md - Increase the "max_heap_size". 2023-04-28 19:37:12 +03:00
build.gradle - Increase the "max_heap_size". 2023-04-28 19:37:12 +03:00
createSwapStorage.sh Add the "./createSwapStorage.sh" script. 2023-04-28 20:55:58 +03:00
gradle.properties - Set some optimization settings for gradle. 2022-11-30 16:25:57 +02:00
installAndRun.sh - Increase the "max_heap_size". 2023-04-28 19:37:12 +03:00
settings.gradle - Fix the project's name inside "settings.gradle". 2021-09-22 17:06:30 +03:00

README.md

UrlsWorker

The Worker's Application, requests assignments from the Controller and processes them with the help of the PublicationsRetriever software and downloads the available full-texts.
Then, it posts the results to the Controller, which in turn, requests from the Worker, the full-texts which are not already found by other workers, in batches.
The Worker responds by compressing and sending the requested files, in each batch.

We use Facebook's Zstandard compression algorithm, which brings very big benefits in compression rate and speed.


To install and run the application:

  • Run git clone and then cd UrlsWorker.
  • Set the preferable values inside the application.properties file.
  • Execute the installAndRun.sh script.

Notes:

  • The above script, installs the PublicationsRetriever software, as a library and then compiles and runs the whole Application.
  • If you want to just run the app, then run the script with the argument "1": ./installAndRun.sh 1. In this scenario, apart from the SpringBoot-app not re-building, the PublicationsRetriever software, will not be re-installed as well.
  • If you want to avoid re-installing the PublicationsRetriever software, but still building the Worker's application, run the script with the argument "0", followed by the argument "1": ./installAndRun.sh 0 1, i.e. when using a development (non-published) version or when nothing has changed and wanting to avoid the time-overhead.