I want to run my ETL job to get updated data on my dashboard when on every transaction that occurs on my prod DB
Does your DB have the ability to call external functions on every commit?
In reality, you don't need to run "on every transaction" (see Real-Time BI vs. Right Time BI ) you can schedule your ETL to run once a minute, or once every 5 minutes, and will still have data that is appropriate for making decisions. If you need it more quickly than once a minute, then you're likely not looking for a ETL/Datawarehouse system, but a OLTP monitoring system, which is something that your transaction-based system should be providing.
Also you could have a more complex architecture, where your ETL push the updates to some message queue with websocket support and in your dashboard you open a websocket connection for the server. Then, every time the ETL produce a new message the MQ will push it to the dashboard and then you can handle the information to update the dashboard.
Retrieving data ...