Skip to content

Releases: raj-open/example-rabbit-mq

🧰 Cleaned docker variables + scripts

03 Nov 11:20
671a9c9

Choose a tag to compare

  • Moved docker service for user registration from command to a mounted script
  • Renamed .env variable DOCKER_NETWORK more aptly to SHARED_NETWORK

🧰 Serialisation + Idiomatic implementation of Context Manager

03 Nov 06:32
1124f5e

Choose a tag to compare

In this patch release we mainly refactored serialisation in particular for logging purposes.

In addition the context manager for channels, whilst previously correct, has been re-implemented in a more idiomatic manner.

🧰 Refactored Channel and Error handling in feature

02 Nov 15:02
be5bad4

Choose a tag to compare

This patch release contains the following changes:

  • all boilerplate from feature refactored out to wrapper (superfeature)
  • handling of errors cleaned up + added logging of errors to rabbit mq
  • field to optionally purge queue at start of run added to requests config

Testing

  • rabbit mq in docker + cli
  • rabbit mq in docker + fastapi
  • rabbit mq in docker + fastapi in docker
  • rabbit mq in docker + demos

Outlook

  • automated tests
  • possibly refactor algorithm to abstractly "lazy trees" as opposed to file system

🛄 Slight improvements to Search Algorithms + Demos

02 Nov 11:44
3d63c72

Choose a tag to compare

In this release we provided improvements to the "recursive" search algorithm:

  • We adapted the data structure (FIFO-queue) to compress future tasks
  • We added the option to skip empty (in terms of size, not count) files/folders, which is reflected in the requests.yaml options field.
  • For stability we added hard breaks for overly long queues

We also added demos with concrete use cases, execution instructions and expected outputs (at some point, these will become behavioural tests).

In the code base we also patched up a few things:

  • We refactored blocks of code for channel-creation (for rabbit mq) into a context manager, thus ensuring graceful exits.
  • We bugfixed an issue with generator functions in the empty case.

Testing

  • rabbit mq in docker + cli
  • rabbit mq in docker + fastapi
  • rabbit mq in docker + fastapi in docker
  • rabbit mq in docker + demos

Outlook

  • unit tests
  • behavioural tests

🧰 Removed artefacts

02 Nov 02:43
89b4042

Choose a tag to compare

Removed a minor refactoring artefact, which could result in the effective value of max-items being halved. Also corrected information in the README.

🛄 🚀 First fully functional state – feature `SEARCH-FS` implemented

02 Nov 01:38
e8ebee5

Choose a tag to compare

With this release we provide a full functional code base with

  • main feature SEARCH-FS implemented, which recursively searches for all files in a given filesystem + location and logs the filenames as json object to a running instance of RabbitMQ

  • methods to generated mock data, e.g. via the command

    just create-mocks \
        --path "data/example" \
        --max-depth 10 \
        --max-folders 100 \
        --max-files 1000
  • fully tested application in all three modes:

    • rabbit mq served in docker + main feature SEARCH-FS executed via CLI
    • rabbit mq served in docker + application served as FastApi + cURL command to POST endpoint /feature/search-fs
    • rabbit mq served in docker + application served as FastApi within docker + cURL command to POST endpoint /feature/search-fs
  • the ability for users to send a single or multiple requests to the POST endpoint

Important

The request-config now contains mandatory settings to establish upper limits for computation purposes.

Future work

Whilst this release represents the first main milestone, a number of things are left open for future work:

  • Unit tests
  • Behavioural tests
  • Extension of the FileSystem protocol (or trait) to other file systems
  • Possible application of async methods

🛅 Implemented API + Stubs

01 Nov 20:17
1c21a35

Choose a tag to compare

In this release the codebase has been fully prepared for use

  • via CLI commands
  • via API (FastApi) without docker
  • via API (FastApi) with docker

We have tested basic functionality (using Postman for the API) for all three modi.

Important

The main feature SEARCH-FS has been implemented as stub and will be filled in a coming release.

🌐 🛗 Initialised repository incl. Queue

01 Nov 16:14
b7e76b0

Choose a tag to compare

With this release we have

  • established the basic repository infrastructure incl.

    • project manifest + task scripts
    • CI/CD workflows (deployment is currently empty)
    • documentation for setup + usage (bar main feature)
  • set up the docker infrastructure for Rabbit MQ

In subsequent releases we will focus on the source code and the main feature.