Concurrency and Modules
Client and Service Project
One Python execution can cross from an entry module into a service module and back. Replay keeps both source files in the same traced run so the data-flow view follows the actual call and return.
Entry Module
order_client.py
from price_service import quote
quantity =
unit_price = 15
invoice = quote(unit_price, quantity)
print("subtotal=" + str(invoice["subtotal"]))
print("total=" + str(invoice["total"]))
from price_service import quote
quantity =
unit_price = 15
invoice = quote(unit_price, quantity)
print("subtotal=" + str(invoice["subtotal"]))
print("total=" + str(invoice["total"]))
from price_service import quote
quantity =
unit_price = 15
invoice = quote(unit_price, quantity)
print("subtotal=" + str(invoice["subtotal"]))
print("total=" + str(invoice["total"]))
module call flow
The entry module builds the request values. The service module computes the quote and returns a dictionary. Replay shows the source panel change when the call enters the helper file, then returns to the entry file for output.