Skip to content
Henne Vogelsang edited this page Apr 22, 2020 · 12 revisions

This is an explanation of the Events sub-system

In the frontend there are many sub-classes of Event::Base like Event::CommentForProject or Event::RequestStatechange. They describe something that happened throughout the OBS (backend and frontend).

Workflow

  1. An Event gets created in the database
    1. the frontend saves an instance of Event
    2. clockwork runs UpdateNotificationEvents every 17 seconds which queries the backend via its API (/lastnotifications) and saves instances of Event
  2. Other sub-systems (Notifications, the rabbitmq message bus etc.) take over and do something based on this Event
  3. The CleanupEvents job destroys all the Event where the others subs-systems have done their job

In July 2017 we have conducted an architecture review for all of this, you might find the notes interesting.

Clone this wiki locally