Skip to main content
In some cases, we want to have modules that not only handle training and inference, but can also react to events from the platform. An example might be a module that is used to determine which documents should be inferred in a project for example. These are not traditional modules, but are really event handlers that are triggered by events in the platform. To support this, we need to do two things:
  • Add a flag to our module metadata to indicate that we want to handle events
  • Include a new method that will receive

Setting up a module to handle events

To set up a module to handle events, we need to add a new flag to the module metadata called eventAware and set it to true.
slug: my-module
version: 1.0.0
orgSlug: kodexa
type: store
storeType: MODEL
name: My Event Module
metadata:
  eventAware: true
  moduleRuntimeRef: kodexa/base-module-runtime
  type: module

  contents:
    - module/*
Then in our module, we must add a new method called handle_event that will be called by the module runtime when an event is triggered.
def handle_event(event):
    logger.info(f"Received event {event}")