-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Subset of Tracking Log Events on Message Bus #28
Comments
@Ian2012 this is as far as I've gotten today on this work, still need to write the other 2 tickets |
I have a few comments regarding Create a single “tracking log” OpenEdxPublicSignal:
Now, the
Each
|
About subdomainsAfter reviewing architectural subdomains again, specifically after seeing this image: We might need to ask an expert 😉. What do you think @ormsbee? |
Proper PRs has been created for this requirement: In the proposed approach, the data format was updated to match the schema defined here because data and context are dynamic variables I think is not important to define a rigid schema for the tracking log data: event = {
'name': name or UNKNOWN_EVENT_TYPE,
'timestamp': datetime.now(UTC),
'data': data or {},
'context': self.resolve_context()
} |
The current state of this work is the following:
This can be tested by defining the following settings in your environment: EVENT_TRACKING_BACKENDS = {
'event_bus': {
'ENGINE': 'eventtracking.backends.event_bus.EventBusRoutingBackend',
},
}
EVENT_BUS_PRODUCER = 'edx_event_bus_redis.create_producer'
EVENT_BUS_REDIS_CONNECTION_URL = 'redis://@redis:6379/'
EVENT_BUS_TOPIC_PREFIX = 'dev'
EVENT_BUS_CONSUMER = 'edx_event_bus_redis.RedisEventConsumer' @robrap can you take a look at the changes here: openedx/event-tracking#246 The workaround is basically to avoid an inifite loop there by re-emitting the signals. ERB can't be converted in an IDA as ERB depends on accesing the same database as the LMS, so it's better to consume the events in the same service. External services still can access to the event bus data by using TRACKING_EVENT_EMITTED, but TRACKING_EVENT_EMITTED_TO_BUS is used here internally. Also, this can be easily run as:
|
I have not reviewed any code, but simply providing openedx/openedx-events#79 with some past discussion around avoiding infinite loops. |
The infinite loop problem has been addressed here: openedx/openedx-events#312 While there is still an open PR for batching events, I think the work completed is sufficient to close this out. |
To extend our event handling capabilities we would like to be able to put tracking logs onto the event bus. This epic is to track that work, and the first consumer of those logs - event-routing-backends optionally using it instead of the Celery-based async backend.
Existing task that should be completed as a prerequisite to this work:
openedx/openedx-events#210
High level tasks to be groomed:
The text was updated successfully, but these errors were encountered: