Motivating custom events
Imagine you are running an e-commerce platform and you want to trigger a deployment when a customer completes an order. There might be a number of events that occur during an order on your platform, for example:order.createdorder.item.addedorder.payment-method.confirmedorder.shipping-method.addedorder.complete
Event grammarThe above choices of event names are arbitrary. With Prefect events, you’re free to select any event grammar that best
represents your use case.
expectanorder.completeeventafteranorder.createdevent- evaluate these conditions
for_eachuser id
user_id as a parameter to the deployment.
Define the trigger
Here’s how this looks in code:post_order_deployment.py
Specify multiple events or resourcesThe
expect and after fields accept a set of event names, so you can specify multiple events for each condition.Similarly, the for_each field accepts a set of resource ids.Simulate events
To simulate users causing order status events, run the following in a Python shell or script:simulate_events.py
user_id_1creates and then completes an order, triggering a run of our deployment.user_id_2creates an order, but no completed event is emitted so no deployment is triggered.