generic-db-observer

Crates.iogeneric-db-observer
lib.rsgeneric-db-observer
version0.3.1
sourcesrc
created_at2024-03-15 21:51:35.253829
updated_at2024-03-22 19:04:32.904268
descriptionA generic observer that monitors a database for changes and triggers a change in some Event Subject.
homepagehttps://gitlab.com/winterberry/generic-db-observer
repositoryhttps://gitlab.com/winterberry/generic-db-observer
max_upload_size
id1175188
size19,661
(snowpoke)

documentation

README

generic-db-observer

A generic observer that monitors a database for changes (currently only Redis is supported) and then triggers a change in some Event Subject. To create a program based on this library, you need to implement EventSubject, and then run the function ObserverConfig::run_observer.

Limitations:

  • Redis PubSub doesn't actually tell us which channels are added or left, instead we receive a notification that "something has changed", and then we have to load the entire set of tracked channels and compare it with which channels are currently joined. This probably causes quite a performance hit.
  • The Event Subject connection is expected to be blocking, whereas the Database connection is expected to be async.
Commit count: 6

cargo fmt